Discussion:
Probleme mit Umlauten und Concat
(zu alt für eine Antwort)
Matthias Braun
2010-04-12 06:31:48 UTC
Permalink
Help!

Ich habe ein Problem mit deutschen Umlauten. Meine Datenbank hat
eigentlich das richtige Character-Set (DEFAULT CHARACTER SET latin1
COLLATE latin1_german1_ci). Umlaute funktionieren auch ohne Probleme,
nur funktioniert die concat-Funktion nicht wie erwartet:

select concat('Angebot an ', a.Vorname,' ',a.Name, ' noch nicht
',a.Ort,'.') as Bemerkung
from adressen a

ergibt zum Teil unleserliche Zeichen, wenn in Name/Vorname/Ort Umlaute
enthalten sind. Wer kann helfen??

Danke,

Matthias
Claus Reibenstein
2010-04-12 06:58:07 UTC
Permalink
Post by Matthias Braun
select concat('Angebot an ', a.Vorname,' ',a.Name, ' noch nicht
',a.Ort,'.') as Bemerkung
from adressen a
ergibt zum Teil unleserliche Zeichen, wenn in Name/Vorname/Ort Umlaute
enthalten sind. Wer kann helfen??
Hast Du geprüft, ob die Umlaute in Name/Vorname/Ort auch richtig in der
Datenbank stehen? Wie und womit hast Du das geprüft? Hast Du die obige
Abfrage mit demselben Programm geprüft?

Gruß. Claus
Axel Schwenke
2010-04-12 08:23:54 UTC
Permalink
Post by Matthias Braun
Ich habe ein Problem mit deutschen Umlauten. Meine Datenbank hat
eigentlich das richtige Character-Set (DEFAULT CHARACTER SET latin1
COLLATE latin1_german1_ci). Umlaute funktionieren auch ohne Probleme,
select concat('Angebot an ', a.Vorname,' ',a.Name, ' noch nicht
',a.Ort,'.') as Bemerkung
from adressen a
ergibt zum Teil unleserliche Zeichen, wenn in Name/Vorname/Ort Umlaute
enthalten sind. Wer kann helfen??
Ich tippe darauf, daß die als Argumente für CONCAT verwendeten Spalten
bzw. Literale verschiedene Encodings verwenden. Dann ist das Encoding
des Resultats nicht mehr ganz so einfach vorhersagbar.

Siehe dazu:
http://dev.mysql.com/doc/refman/5.1/en/charset-collate-tricky.html

Auf jeden Fall fehlen Informationen:

Welche MySQL-Version?
SHOW FULL FIELDS für die Tabelle?
Welche connection character sets verwendest du?

Siehe ebenfalls:
http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html

Zum Schluß noch ein Tip: 'mysql --debug-info' zeigt dir zu allen
Spalten des Ergebnisses den jeweiligen Datentyp. Ab 5.1 geht auch
'mysql --column-type-info'


XL

Loading...