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.