Umlaute fehlerhaft trotz expliziter Einstellungen

venice
Posts: 7
Joined: 2007-10-05 19:38

Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

hallo,

ich habe folgendes Problem:
ich hab die neuste mysql5 version und apache frisch installiert, mit allem drum und dran(php usw.)

jetzt ist es so dass die Umlaute fehlerhaft sind obwohl...

...ich in der my.cnf alles auf utf8 gestellt habe (die config oben ausm forum)
...ich im php dokument den charset auf UTF-8 gesetzt habe
...ich schon probiert habe im Apache einen Defaultcharset auf utf8 zu setzen und das gleiche in der php.ini

Umlaute die im script sind, wie "äüö" usw. werden auch so angezeigt. Jedoch nicht die, die ich über SELECT auslese und anzeige. Diese werden nur als Fragezeichen im FF angezeigt. Die Tabellen sind selber alle über phpmyadmin auf utf8_general_ci Kollation gesetzt und auch über phpmyadmin eingefügt. Auch über eine php datei die Daten einzufügen geht auch nicht.

Die my.cnf wird wohl auch korrekt sein weil apache sowie mysql richtig starten und phpmyadmin auch die änderungen unter "Systemvariablen anzeigen" richtig anzeigt (alles utf8)

Kann mir jetzt einer sagen wo der Fehler liegt ? (System: SuSE Linux 10 und Windows XP getestet)

danke im Voraus.

mfg
venice
Top

User avatar
Joe User
Project Manager
Project Manager
Posts: 11519
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by Joe User »

Lege per mysqldump einen Dump als latin1 an und konvertiere diesen zu utf8, "datenbank" bitte durch den jeweiligen Datenbanknamen ersetzen:

Code: Select all

mysqlcheck --analyze --check --auto-repair --extend --optimize --all-databases -uroot -p
mysqldump -uroot -p --opt --allow-keywords --default-character-set=latin1 --skip-set-charset datenbank > datenbank_latin1.sql
iconv -f LATIN1 -t UTF8 datanbank_latin1.sql > datenbank_utf8.sql
mysql -uroot -p --default-charset=utf8 < datenbank_utf8.sql
mysqlcheck --analyze --check --auto-repair --extend --optimize --all-databases -uroot -p

Ohne Gewähr...
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

das würde nicht gehen, da ich den befehl dann doch nach jedem neuen eintrag ausführen muss ?
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by Roger Wilco »

VENICE wrote:das würde nicht gehen, da ich den befehl dann doch nach jedem neuen eintrag ausführen muss ?

Neue Einträge sollten korrekt in die Datenbank geschrieben werden. Bei dem von Joe User vorgeschlagenen Vorgehen werden die alten Einträge noch angepasst.
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

falsch.

Ich habe das ebend probiert, vorhandene Datensetze sind teilweise richtig korrigiert und werden richtig angezeigt. Dennoch, wenn ich über phpmyadmin wieder einen Datensatz hinzufüge ist dieser wieder falsch und wird als Fragezeichen dargestellt.

Gibt es noch eine andere Möglichkeit?

mfg
venice
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

nochwas, was ich ebend gefunden habe. Ich hab mal den Pfad zu den charsets kontrolliert. Also der der hier in der forum ini angegeben ist.

Ist das normal das man dort kein utf8 findet ?...

Code: Select all


-rw-r--r--   1 root root 17147 Sep 13  2005 Index.xml
-rw-r--r--   1 root root  1758 Sep 13  2005 README
-rw-r--r--   1 root root  5528 Sep 13  2005 armscii8.xml
-rw-r--r--   1 root root  5514 Sep 13  2005 ascii.xml
-rw-r--r--   1 root root  6579 Sep 13  2005 cp1250.xml
-rw-r--r--   1 root root  8364 Sep 13  2005 cp1251.xml
-rw-r--r--   1 root root  5577 Sep 13  2005 cp1256.xml
-rw-r--r--   1 root root  8910 Sep 13  2005 cp1257.xml
-rw-r--r--   1 root root  5514 Sep 13  2005 cp850.xml
-rw-r--r--   1 root root  5530 Sep 13  2005 cp852.xml
-rw-r--r--   1 root root  5621 Sep 13  2005 cp866.xml
-rw-r--r--   1 root root  6537 Sep 13  2005 dec8.xml
-rw-r--r--   1 root root  5524 Sep 13  2005 geostd8.xml
-rw-r--r--   1 root root  5736 Sep 13  2005 greek.xml
-rw-r--r--   1 root root  5519 Sep 13  2005 hebrew.xml
-rw-r--r--   1 root root  5510 Sep 13  2005 hp8.xml
-rw-r--r--   1 root root  5537 Sep 13  2005 keybcs2.xml
-rw-r--r--   1 root root  5518 Sep 13  2005 koi8r.xml
-rw-r--r--   1 root root  6540 Sep 13  2005 koi8u.xml
-rw-r--r--   1 root root  9818 Sep 13  2005 latin1.xml
-rw-r--r--   1 root root  7256 Sep 13  2005 latin2.xml
-rw-r--r--   1 root root  5674 Sep 13  2005 latin5.xml
-rw-r--r--   1 root root  7446 Sep 13  2005 latin7.xml
-rw-r--r--   1 root root  8055 Sep 13  2005 macce.xml
-rw-r--r--   1 root root  8066 Sep 13  2005 macroman.xml
-rw-r--r--   1 root root  6538 Sep 13  2005 swe7.xml
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

so ich korrigiere nochmal:


folgendes passiert im Browser(FF2) (my.cnf steht alles auf utf8)

stelle ich die Kodierung im Browser auf UTF-8, werden die äü... im Script richtig angezeigt, die Einträge aus der Datenbank nicht.

stelle ich die Kodierung auf ISO-8859-1 werden die Datenbank einträge richtig angezeigt, die Umlaute im Script selber nicht.

Das funktioniert allerdings nur, wenn ich in dem Dokument keinen Content-Type setze, sobald ich einen setze egal ob iso oder utf8 wird beides nicht richtig angezeigt. bei iso fügt er mir noch son kryptisches Zeichen am Seitenanfang hinzu, warum auch immer.


Öffne ich die Datei mit dem Editor und gehe unter speichern Unter -> Kodierung: ANSI und lade sie wieder hoch wird beides optimal angezeigt wie es sein soll.

1.So meine Vermutung jetzt, obwohl MYSQL auf UTF8 eingestellt ist, liefert es ISO zurück.
2. PHP klinkt sich ein und ändert die Kodierung

3.der Apache ist falsch eingestellt (defaultcharset ist nicht gesetzt!)

4.irgendwie funzt die Software nicht richtig, obwohl der Editor doch alles immer richtig gemacht hat hmm


Ich hoffe das jetzt jemand weitergekommen ist und eine Idee hat. Danke schonmal!

mfg
venice
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

ok weiter gehts...

ich hab e hinbekommen indem ich nachdem connecten und selecten der DB über php einen SET query gemacht habe, der die gleichen charsets setzt die in der my.cnf stehen. Dann funktioniert alles richtig.

D.h. dass wenn ich mich per php zu mysql verbinde immer latin1 als Zeichensatz genommen wird. Das ist das Problem!

Gibts dazu eine Lösung außer meinen Query ?
Top

stanglwirt
Posts: 48
Joined: 2006-01-10 14:44

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by stanglwirt »

du musst nach dem connect ein SET CHARACTER SET XXXXX o.ä. absetzen oder dein PHP neu bauen mit dem geänderten mysql-teil. Ansonsten verbindet PHP immer erst mit dem falschen Zeichensatz.
Top

venice
Posts: 7
Joined: 2007-10-05 19:38

Re: Umlaute fehlerhaft trotz expliziter Einstellungen

Post by venice »

ahh ok danke.

dann weiß ich fürs nächste mal bescheit
Top