Átalakítani az adatbázist mysql
Úgy tűnik, egy egyszerű feladat, végre minden egyes lekérdezés a táblázat:
ALTER TABLE”. $ TableName. „CONVERT karakterkészlet utf8 LEVÁLOGAT utf8_unicode_ci;
és kész! Azonban nem minden ilyen egyszerű, és ott vannak a következő pontokat érdemes odafigyelni:
A MySQL, van két fogalom kódolási és karakter LEVÁLOGAT majd 2 pontot kapott:
- Az egész asztal - ezek különböző értékeket (a kódolás az adatok tárolása területén megadása nélkül a kódolás és a karakter adatok összehasonlítása a táblázat oszlopait)
- táblázat mező - az azonos értékű (kódoló tárolás)
1. Átalakítás karakterkészletet lehet levonni az adatok - kérdőjelek (kivéve, ha az új kódolás nem támogatja a szimbólumok a régi kódolás). Tehát lehet, hogy nem feltétlenül szükséges az átalakítás, de ahhoz, hogy változtatni a típusú megbékélés:
ALTER TABLE”. $ TableName. „LEVÁLOGAT = utf8_unicode_ci;
2. Az kell konvertálni csak azokat a táblákat, amelyek nem utf8, mert lehet, hogy a kódoló területeken ebben a táblázatban nem soroljuk utf8 (pl csökkentésére adat redundancia, mint utf8 alatt minden karakter használ 2 byte, nem 1 más kódolásokat)
3, ellenőrizze a kódolás a szöveges mezők, olyasmi, mint ez, csak a táblázatok:
szükséges megfelelő razrulit kódolásának átalakításához, például: utf8_bin, latin1, utf8, minta táblázat:
Különösen fontos területén a konvertáló utf8_bin utf8, így például van egy kérésem:
Elmagyarázom: utf8bin területén egyedülálló volt, kis- és nagybetűket, és megpróbáltunk, hogy a kódolás nem támogatott cs (eset sensetive - kis- és nagybetűket)
4. Felhívjuk figyelmét, hogy a mozgó utf8_general_ci a utf8_unicode_ci bővítjük a karakter tábla, akkor nincs probléma, de mi bővül ez még mindig nem egészen utf8_bin, így a kérdés ci cs vagy nyitva marad.