[Eisfair] eisfair-1 mit UTF-8

Marcus Roeckrath marcus.roeckrath at gmx.de
Sa Apr 6 11:48:15 CEST 2013


Hallo Fabian,

Fabian Törner wrote:

[mysql-Datenbank nach utf konvertieren]
>> Das steht in der aktuellen Linux Magazin 5/13 S. 32 ff.
>>
> 
> liegt mir leider nicht vor - ist es zeitaufwändig einen Auszug davon
> hier nieder zuschreiben?

Der grundsätzliche Weg ist folgender (ohne Gewähr und noch ungetestet;
umbrochene Befehle immer in einer langen Zeile!!!!!!!!!):

1. Datenbank dumpen -> ergibt textbasierte sql-Datei
2. In der sql-Datei die Zeichensatzangabe der DB nach utf ändern

mysqldump --opt -Q -u DB-User -p Passwort -h localhost DB-Name | sed
s'/DEFAULT CHARSET=.*;/DEFAULT CHARSET=utf8 COLLATE=utf8_unicode__ci;/g' >
mysql_dump.sql

3. Den Inhalt der Dump-Datei von iso nach utf8 ändern, wenn diese iso
kodiert ist

Mit "file -i mysql_dump.sql" den "zeichensatz" dieser Ascii-Datei
feststellen, wenn dies nicht utf-8 text sondern wahrscheinlicherweise
ISO-8859 text" ist, dann

iconv -f zeichensatz -t utf8 mysql_dump.sql > mysql_dump.utf8.sql

zeichensatz ist durch die mit dem file-Kommando festgestellte Kodierung zu
ersetzen (ohne "text").

4. Rücklesen der Datenbank

mysql -u DB-User -p Passwort- h localhost --default-character-set=utf8
DB-Name < mysql_dump.utf8.sql

Und es gilt immer: Ein vorheriges Backup der Datenbank ist Pflicht!
 
-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair