Ich hab in einem Datensatz das Wort "Zahnlücke" stehen.
Wenn ich aber eine mysql-abfrage direkt über den mysqlserver mache, erhalte ich: Zahnlcke
Zahnlcke erhalte ich auch, wenn ich in der Shell ein Testscript mit einer simplen Abfrage laufen lasse.
Meine mysql-conf sieht so aus:
charakter_set_client: latin1
charakter_set_connection: latin1
charakter_set_database: latin1
charakter_set_results: latin1
charakter_set_server: latin1
charakter_set_system: utf8
collation_connection: latin1_swedish_ci
collation_database: latin1_swedish_ci
collation_server: latin1_swedish_ci
ist doch eigentlich alles o.k. oder?
Ich versteh das einfach nicht.
Der Server läuft bei mir auf SuSE 9.3
Ein "Helo Wörld (mit ö)" funktioniert aber in der Shell, d.h. dort ist der Zeichensatz korrekt.
Ein Dump der Datenbank, im vi betrachtet, sieht ganz normal aus und zeigt auch umlaute. D.h. die Umlaute sind beim INSERT korrekt eingetragen worden.
Ich hab schon alles probiert, auch:
select * from kurioses where id = 322 COLLATE latin1_german_ci;
ergibt auch nur: Zahnlcke
Übrigens, wenn ich ein CGI-Script bastel und das ganze über den Server abfrage, klappts.
Wenn ich das CGI-Script aber über die Shell abfrage, klappts wieder nicht.
Also irgendwas geht hier schief: Shell oder mysql!
Aber wenns die Shell ist, wieso klappt dann "helo wörld" ?\n\n
<!--EDIT|Froschpopo|1150006462-->