Problem kroatische Sonderzeichen & deutsche Umlaute

Problem kroatische Sonderzeichen & deutsche Umlaute

am 24.08.2006 18:30:02 von bushy666

Hallo,

ich habe hier ein seltsames Problem (oder vielleicht auch nicht;-)

Datenbank: MySQL 4.1.11a-4sarge5 (Debian) (default-character-set=utf8)

Tabelle ist angelegt als UTF8.

Bei Verbindung des Clients wird "SET CHARACTER SET 'utf8', NAMES 'utf8'"
abgesetzt. Client ist ein Perl v5.8.4 mod_perl script auf Apache/1.3.33
mit den aktuellsten DBD und DBI Packages. Die Daten kommen von
XHTML-Formular (xhtml-datei im utf8 Format).

Es werden alle kroatischen Sonderzeichen korrekt gespeichert und
angezeigt. Möchte ich einen deutschen Umlaut speichern, dann wird alles
ab dem ersten Umlaut entfernt (inkl. diesem ersten Umlaut).

Was könnte dieses Verhalten verursachen? Wie könnte ich der Sache auf
den Grund gehen?

Lg
Michael

Re: Problem kroatische Sonderzeichen & deutsche Umlaute

am 25.08.2006 11:36:05 von Christian Kirsch

Michael Müller schrieb:
> Hallo,
>
> ich habe hier ein seltsames Problem (oder vielleicht auch nicht;-)
>
> Datenbank: MySQL 4.1.11a-4sarge5 (Debian) (default-character-set=utf8)
>
> Tabelle ist angelegt als UTF8.
>
> Bei Verbindung des Clients wird "SET CHARACTER SET 'utf8', NAMES 'utf8'"
> abgesetzt. Client ist ein Perl v5.8.4 mod_perl script auf Apache/1.3.33
> mit den aktuellsten DBD und DBI Packages. Die Daten kommen von
> XHTML-Formular (xhtml-datei im utf8 Format).
>
> Es werden alle kroatischen Sonderzeichen korrekt gespeichert und
> angezeigt. Möchte ich einen deutschen Umlaut speichern, dann wird alles
> ab dem ersten Umlaut entfernt (inkl. diesem ersten Umlaut).
>

Nach meiner Erfahrung "entfernt" MySQL keine Daten.

> Was könnte dieses Verhalten verursachen? Wie könnte ich der Sache auf
> den Grund gehen?

Wie sieht's denn auf der Kommandozeile aus: zeigt dir

mysql -e "SELECT spalte FROM tabelle"

die Daten korrekt an?

Kannst Du Dir in Deinem Perl-Script ausgeben lassen (print STDERR
z.B.), was der Browser schickt? Funktioniert das Ganze, wenn Du in
mysql (Kommandozeilenclient) einen Text ein- (INSERT) und wieder
ausgibst (SELECT)?