mysql karakterkódolási gondok

Új helyre költözött a blog és kellett egy keveset mókolni az adatbázison, hogy működjön a karakterkódolás. Latin1 táblában unicode karakterek voltak. Mivel az elkövetkezendő időben nagyobb méretű és mennyiségű adatbázist kell majd migrálnom, felvésem ide a receptet.

# mysqldump --no-data --skip-set-charset --default-character-set=latin1 -u user -p adatbázis neve > blog_schema.sql
# mysqldump --no-create-info --skip-set-charset --default-character-set=latin1 -u user -p adatbázis neve > blog_data.sql

Mivel az adatbázisban unicode karaktereket tárol, a latin1 charset kapcsolóval annyit mondunk csak meg, hogy semmi konverziót nem kérünk, illetve a fejlécben elhelyezett set-charset részt se. Így a táblában tartott adatok változtatás nélkül fognak szerepelni a fájlban.

Export után a sémafájlban az összes tábla karakterkódolást át kell írni utf8-ra.

Vegyes táblatartalom esetén (volt már ilyenhez is részem) értelem szerűen az azonosakat kell együtt exportálni, alakítani és importálni.

Leave a Reply

Your email address will not be published. Required fields are marked *