Seite 1 von 1

Umlaute, PHP und MySql

Verfasst: 24.02.2006, 11:26
von mcchaos
Hallo! Ich habe eine MySql-Datenbank angelegt, die Tabellen haben einen CHARACTER SET latin1.

Ich fülle über die MySQL-Konsole dann Werte ein. Frage ich diese Werte wieder in der Konsole ab, bleiben die Umlaute erhalten.

Frage ich diese Werte per PHP ab, erhalte ich z.B. für "ü" den Ascii-Wert 129, was kein Browser richtig darstellen mag (Ascii 252 scheint hier richtig zu sein). Dies passiert, egal ob die Tabelle mit oder ohne diesem Charset angelet wurde.

Ich könnte natürlich alle ausgelesenen Werte durch sowas schicken:
$sTxt = str_replace(chr(129), "ü", $sTxt);
Dann gehts, ist aber irgendwie nervig.

Wie kriege ich es hin, dass MySql-Konsole und PHP hier die gleiche Kodierung verwenden?

Ich verwende PHP4 und MySql 4.1, daher ziehen die Befehle mysqli_set_charset usw. nicht.

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Umlaute, PHP und MySql

Verfasst: 24.02.2006, 13:01
von net(t)worker
arbeite doch mit utf-8 in Tabelle und script... macht bei mir keine Probleme...

Umlaute, PHP und MySql

Verfasst: 24.02.2006, 13:12
von mcchaos

Verfasst:
von

Umlaute, PHP und MySql

Verfasst: 24.02.2006, 13:20
von net(t)worker
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

falls das nicht hilft, schau dir die Ausgabe mal mit einem paket sniffer an, beim Apache und auch bei php kann ein defaultcharset eingestellt sein, dessen kennung jeweils vor der Webseite gesendet wird (hat mich bei meinem testserver zuhause stunden voller Verzweiflung gekostet).... je nach hoster solltest du das php default charset in der .htaccess oder in einer eigenen php.ini einstellen/deaktivieren können.

Umlaute, PHP und MySql

Verfasst: 24.02.2006, 13:28
von marc75
probiere mal utf8_decode() aus,

Re: Umlaute, PHP und MySql

Verfasst: 24.02.2006, 13:34
von net(t)worker
marc75 hat geschrieben:probiere mal utf8_decode() aus,
jo, oder halt so in iso-8859-1 umwandeln... aber streng genommen brauchst du den iso-8859-15

ich denke aber, wenn man schon utf-8 verwendet, sollte man dessen Vorteile auch nutzen... egal welche Schprache ein user verwendet, utf-8 stellt die Zeichen alle richtig dar.... spielt z.B. bei Namen eine Rolle, Mitbürger ausländischer Herkunft haben teilweise auch selrsame zeichen im Namen...