Hallo Leute,
ich betreibe einen Webshop mit Datenbank die aus gemischten Tabellen besteht, entweder latin oder UTF8. Im Shop werden Umlaute korrekt angezeigt, in der Datenbank stehen aber die Umlaute falsch. Ich habe schon versucht mit ALTER TABLE table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; den Typ zu änderm aber der Eintrag in der Datenbank mit den falsch codierten Umlauten bleibt gleich, wie kann ich das ändern ohne alles von Hand anzupassen?
Gruß ré
Datenbank convert von latin zu UTF
Re: Datenbank convert von latin zu UTF
Da würde ich doch erstmal die verwendete „Datenbank“, was immer das sein mag, bekannt geben.
Re: Datenbank convert von latin zu UTF
Es kann immer irgend welche Details geben aber im allgemeinen ist das die einzig sinnvolle Variante.
Aber wenn da in der latin1-DB ein i statt einem ї steht kannst du im nachhinein wenig machen: Woher soll ein Tool am Ende wissen, ob nicht einfach ein i stehen sollte?
Du kannst für neue Einträge eine passende Codierung geben.der Eintrag in der Datenbank mit den falsch codierten Umlauten bleibt gleich
Aber wenn da in der latin1-DB ein i statt einem ї steht kannst du im nachhinein wenig machen: Woher soll ein Tool am Ende wissen, ob nicht einfach ein i stehen sollte?
rot: Moderator wanne spricht, default: User wanne spricht.
- chroiss
- Beiträge: 332
- Registriert: 29.10.2004 09:29:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)
Re: Datenbank convert von latin zu UTF
Hi,
Hat bei ner Redmine DB gut funktioniert.
Gruss
Chroiss
Code: Alles auswählen
mysqldump -uUSER -p --default-character-set=latin1 --skip-set-charset DB_NAME > DB_NAME.sql
iconv -f iso-8859-1 -t utf8 DB_NAME.sql | sed -e 's/latin1/utf8/g' > DB_NAME_NEU.sql
mysql -uUSER -p
create database DB_NAME_NEU charset=utf8;
mysql -uUSER -p --default-character-set=utf8 DB_NAME_NEU < DB_NAME_NEU.sql
Gruss
Chroiss
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.