UTF-8 in MySql / PHP / HTML

Danke für die tollen Tipps find ich echt Klasse...

Habe es geschafft :D

Er hat den <meta> Code reingepackt (der Autor des Tutorials), wo
nach UTF-8 verwiesen wird...

Ich dachte der musste rein, der war aber komischerweise das Problem,
hatte nämlich nie probleme mit Code egal welche Einstellung ANSI, UTF-8 in
Notepad++

Ich habe diesen <meta> Code rausgepackt und es geht >.<

Kann mir da jemand sagen, was das Problem war?
Das geht doch eigentlich nicht...
 
Mach die Seite mal im Firefox auf und schau, was unter "Web-Entwickler > Zeichenkodierung" angezeigt wird. Ich bin mir ziemlich sicher, dass da nicht UTF-8 steht. Das würde dann erklären, warum der UTF-8-Tag alles verhunzt. Das heißt dann aber auch, dass an einer anderen Stelle nicht mit UTF-8 gearbeitet wird und die Anzeige nur "zufällig" richtig ist bzw. vor der Ausgabe in nen anderen Zeichensatz konvertiert wird. Besser wär's, wenn du durchgehend UTF-8 verwenden würdest!
 
nur "zufällig" richtig

Das stimmt ist mir aufgefallen, jetzt ist es wieder falsch

Mit dem Firefox.... Es wird UTF-8 makiert aber es ist alles immer noch da, das
Problem...

Wenn ich htmlspecialchars() bzw. htmlentities() nutze gibts wieder andere "komische"
Zeichen bis hin zu normalen Fragezeichen (aber ich muss htmlentities() bzw. htmlspecialchars() benutzen, da es von der DB aus angezeigt wird nutze auch noch
ENT_QUOTES und "UTF-8" als Parameter also htmlentities($xy, ENT_QUOTES,"UTF-8")
klappt aber auch nicht)

Boah alles so schwierig hatte noch nie diese Probleme komischerweise nur hier ...

// EDIT

Mal ne dumme Frage am Rande:

Könnte ich das Prob. nicht lösen wenn ich mit str_replace() einfach ein ÄÖÜäöü abfange
und es in HTML-Sonderzeichen umwandle?

// EDIT2

OK, str_replace() hilft nichts

(ä zu &auml; ersetzen)
 
Zuletzt bearbeitet:
Hast es denn mal mit nem einfachen Formular versucht? Riesigen Code mit unzähligen Funktionen direkt aus nem Tutorial zu übernehmen geht selten gut, wenn man keine Ahnung hat, was man tut.

Also besser klein anfangen und die zusätzlichen Funktionen später einbauen!
 
PHP:
<?php
if (isset($_POST['submit'])){

$u = $_POST["user"];
$p = $_POST["pw"];
$pw = $_POST["pw2"];

echo "$u <br> $p <br> $pw";
}
else {
echo '
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<b>Benutzername angeben</b><br>
<input type="text" name="user" value="Deinen Benutzernamen" size="50"><br>
<b>Passwort</b><br>
<input type="text" name="pw" value="Dein Passwort" size="50"><br>
<b>Passwort bestätigen</b><br>
<input type="text" name="pw2" value="Dein Passwort" size="50"><br>
<input type="submit" name="submit" value="Absenden & Testen">
</form>';
}

Und die Ausgabe (bevor ich abschicke):

Benutzername angeben

Passwort

Passwort bestätigen
 
Dann sollest Du wieder folgendes am Anfang einfügen:

PHP:
header('Content-Type: text/html; charset=utf-8');
 
Zurück