Zum Inhalt springen

Riesenproblem mit Chinesischen Schriftzeichen

Erstellt am 1. April 2011 · 1 Antwort · letzte Antwort am 12. April 2011

Tags: Datenbank, Frage

Schmoozer ·

Hallo Forum,

Ich hab ein Riesenproblem mit einer Seite, die ich betreue.

Das Problem ist schnell erklärt: Wenn die chinesische Redakteurin chinesisch einträgt und speichert, werden die Daten als Fragezeichen in die DB eingespeichert.

Fehlermeldung:

102: These fields are not properly updated in database: (bodytext) Probably value mismatch with fieldtype.

Kurz zur Umgebung:
TYPO3_VERSION: 4.4.6
PHP_VERSION : 5.2.6-1+lenny10
SERVER_SOFTW: Apache
Templavoila: 1.5.4

Im Installtool habe ich folgendes gesetzt:

[multiplyDBfieldSize] = 1
[setDBinit]
SET NAMES utf8;
SET CHARACHTER_SET utf8;

[forceCharset] = utf-8

Die Datenbank ist komplett in UTF-8

SHOW VARIABLES WHERE Variable_name IN ('character_set_client', 'character_set_connection', 'character_set_results')

gibt folgendes aus:
character_set_client utf8
character_set_connection utf8
character_set_results utf8

Im Root-Template hab ich folgendes TS:

# Chinese, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ch
config.locale_all = zh_CN
config.htmlTag_langKey = zh-CN
[global]

Wenn ich [multiplyDBfieldSize] = 1 höher setze bleibt der Fehler, was eigendlich auch klar ist, weil das ja nur dafür da ist, utf-8 Date in ISO Tabellen einzutragen.

Hat jemand von euch eine Idee, was ich noch probieren kann?

Grüßle und schonmal danke im Voraus,
Jens

Schmoozer ·

Ok, ich habs nun gelöst bekommen...

Die komplette Datenbank war richtig eingestellt, bis auf die Tabellen an sich...#angry#

d.h. im export von PHPmyAdmin stand unter jeder Tabelle:

DEFAULT CHARSET=latin1

obwohl der Inhalt UTF-8 war...

Lösung: Suchen und ersetzen CHARSET=latin1 --> DEFAULT CHARSET=utf8 und die sql-Datei wieder einspielen.