Vinzenz Mai: "ü" statt "ü" in MySQL

Beitrag lesen

Hallo,

User können auf einer Seite (utf8-codiert) Texteingaben machen. Dabei sind Umlaute erlaubt. Die Änderungen werden über ein utf8-Perlscript mit einer utf-8 Datenverbindung in einem utf8-unicode-Feld in der Datenbank abgespeichert. Dummerweise speichert diese nun aber alle Sonderzeichen Marke "ü" statt "ü". An und für sich wäre das ja kein Problem, hätten wir uns hier nicht aus sehr wichtigen Performancegründen für char sondern für varchar als Feldtyp entschieden. Es sind also 15 Zeichen für den zu speichernden Namen von der Webseite aus zulässig. Begrenze ich nun die Feldlänge auf 15 Zeichen, passen nur 7,5 Umlaute in das Feld.

irgendwo ist ein Fehler in Deiner Darstellung. Wenn Du für eine Spalte angegeben hast, dass es sich bei den gespeicherten Daten

- um UTF-8-Zeichenkodierung handelt,
  - und 15 Zeichen erlaubt sind,

dann passen in dieses Feld 15 Zeichen, auch Sonderzeichen. Getestet, passt.
(Voraussetzung: MySQL 4.1 und höher, selbstverständlich)

Freundliche Grüße

Vinzenz