Archiv für die Kategorie „UTF-8“
Zeichenkodierung, Formate und Konvertierung
Immer wieder kommt es beim Datenaustausch zu Problemen mit den Zeichen. Plötzlich werden Sonderzeichen als ‘Hieroglyphen’ dargestellt o.ä.
Als erstes stellt sich die Frage in welchem Zeichenformat die Datei abgespeichert wurde bzw. mit welcher Zeichencodierung die Zeichen im Text hinterlegt sind.
Die üblichen Editoren helfen da meist nicht viel bzw. machen die ‘Verwirrung’ nur noch schlimmer. Letztlich versuchen die Editoren die Zeichen irgendwie leserlich für den Menschen darzustellen, aber die Ausgabe hat nichts mit den wirklich gespeicherten Daten zu tun.
Daher bin ich übergegangen mir die Dateien unter Linux oder Mac auf der Konsole anzuschauen, die Konsolen-Tools arbeiten viel verlässlicher.
Um die Zeichenkodierung heraus zu finden gibt es das Tool ‘file‘.
file analysiert die Zeichen im Text und gibt die Kodierung aus.
Beispiel:
# file text.csv
(Ausgabe) # text.csv: UTF-8 Unicode text
Wenn man weiß in welchem Format die Daten vorliegen, kann man sich auch gezielt an die Konvertierung machen.
Dafür verwende ich das Tool ‘iconv‘.
Beispiel:
iconv -f UTF-8 -t ISO_8859-15 text-in-utf8.csv > test-in-ascii.csv
Mit iconv –list kann man sich alle unterstützen Zeichensätze auflisten lassen.
TYPO3 UTF8
Damit Sonderzeichen immer korrekt dargestellt werden, empfiehlt es sich den Zeichencode auf UTF-8 einzustellen. Für Multilanguage-Webseiten ist das sogar Voraussetzung!
Dafür müssen einige Einstellungen in Typo3 vorgenommen werden.
Im Installationstool -> All Configuration sind dafür diese Einstellungen einzutragen: Diesen Beitrag weiterlesen »
WordPress – UTF-8 Problem
Soll WordPress die Zeichen in UTF-8 richtig darstellen, sind folgenden Einstellungen in wp_config.php nötig:
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
define (‘WPLANG’, ‘de_DE.UTF-8′);
Im jeweiligen Design die header.php überprüfen, hier muss charset=UTF-8 gesetzt werden.
mysql tabellen in UTF-8 konvertieren
Wie kann man die Inhalte einer mySQL-Datenbank auf UTF-8 umstellen?
Die ISO-MySQL-Daten in eine Datei “dumpen”, diese mit dem Linux-Tool recode in UTF-8 umwandeln und anschließend wieder importieren.
Beispiel:
- mysqldump -u root -p -D [DBName] > export.sql
- recode utf8 export.sql
- mysql -u test -p -D [DBName] < export.sql
[DBName] = der Name der Datenbank.

