Á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.




Kapcsolódó cikkek