Problem mit Umlauten - Dateieinträge geändert
Kalle_B
- webserver
Hallöle,
ich hatte am 16.05. mein Problem mit den Umlauten auf einem Debian- Server geschildert, die beim Weg in die Datenbank MySQL und wieder heraus auf eine HTML- Seite umcodiert werden:
http://forum.de.selfhtml.org/archiv/2007/5/t152448/#m991519
Die Zeichencodierung stand im FF auf UTF-8, obwohl ich im HTML- header ISO-8859-1 angegeben habe.
Jetzt habe ich zwei Dateieinträge des Servers geändert:
/etc/apache2/conf.d/charset
alt: AddDefaultCharset UTF-8
neu: # AddDefaultCharset UTF-8
AddDefaultCharset ISO-8859-1
/etc/php5/apache2/php.ini
alt: ;default_charset = "iso-8859-1"
neu: default_charset = "iso-8859-1"
Keine Änderung, Zeichencodierung immer noch UTF-8. Habe ich nicht die richtigen Dateien getroffen? Oder wenn ja, muss irgendwas neu hochgefahren werden?
Gruß, Kalle
Lieber Kalle_B,
Habe ich nicht die richtigen Dateien getroffen? Oder wenn ja, muss irgendwas neu hochgefahren werden?
... Server übernehmen veränderte Konfigurationen zumeist erst nach einem Neustart des Dienstes.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo,
die Seite
http://dev.mysql.com/doc/refman/5.1/de/charset-connection.html
verrät, wie man diverse Einstellungen sehen kann.
Mit SHOW VARIABLES LIKE 'character_set%';
ergibt sich dieses im phpmyadmin:
Variable_name Value
------------------------ --------
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?
Welchen Zeichensatz sendet diese Form denn ab, wenn FF- Zeichencodierung auf UTF-8 steht, aber <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<FORM name=form_p102 action='/tm3/tm_manager.php' method='post'>
Kalle
character_set_client utf8
character_set_connection utf8
character_set_database latin1
Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?
Deine Tabelle steht auf "Latin1", die Verbindung auf "utf8". Da würde ich mich nicht über Umlautprobleme wundern.
Welchen Zeichensatz sendet diese Form denn ab, wenn FF- Zeichencodierung auf UTF-8 steht, aber <meta http-equiv="content-type" content="text/html; charset=UTF-8">
Sieht nach UTF-8 aus. Deine Tabelle ist aber in ISO 8859. Das muss m.E. schiefgehen.
Siechfred
echo $begrüßung;
character_set_client utf8
character_set_connection utf8
character_set_database latin1
Wenn doch klar ist, dass der Server auf latin1 und der client auf utf8 steht, woher kommen dann meine Probleme?Deine Tabelle steht auf "Latin1", die Verbindung auf "utf8". Da würde ich mich nicht über Umlautprobleme wundern.
Nein, da muss man sich wirklich nicht wundern, denn das sind nur Default-Angaben, die für aktuelle Probleme nicht unbedingt eine direkte Rolle spielen. Ich habe aber momentan keine Lust, das ganze Prinzip nochmal zu erklären. Kalle_B als Forum-Stammnutzer kann ja auch mal das hiesige Archiv und die schon oft verlinkte MySQL-Dokumentation zum Thema Character Set Support zu Rate ziehen.
Sieht nach UTF-8 aus. Deine Tabelle ist aber in ISO 8859. Das muss m.E. schiefgehen.
Es interessiert letzten Endes nur die Kodierung der betroffenen Felder. Ist diese eine andere als die der aktuellen Verbindung, nimmt MySQL automatisch Konvertierungen vor. Dabei kommt es nur dann zu Datenverlust, wenn man Zeichen verwendet, die über das kleinste gemeinsame Vielfache der beteiligten Kodierungen hinausgehen.
echo "$verabschiedung $name";