Conversia DB de la win-1251 în utf8, schimba codificarea pentru toate tabelele de o bază de date,

Conversia bazei de date de la Win-1251 în UTF8 se poate face în mai multe moduri, dar cel mai rapid și mai ușor - utilizarea SQL-interogare de mai jos.

ALTER TABLE `db _ name`. `Tabelul _ name` CONVERT TO CARACTERULUI SET utf8 COLLATE utf8_general_ci;

Cu această solicitare, puteți converti un tabel de bază de date în orice disponibile în codificare MySQL. Dar dacă tabelele de 100, 200 sau mai mult, iar toate tabelele trebuie să re-encode în UTF8 de la Win-1251. Pentru a rezolva această problemă, puteți trimite într-o interogare MySQL care va genera necesare SQL interogări pentru toate tabelele bazei de date. Dacă utilizați PHPMyAdmin va copia doar rezultatele și le executați ca SQL-interogare:

SELECT CONCAT # 40; 'ALTER TABLE `'. T. `TABELUL _ SCHEMA`. '`.`'. T. `TABELUL _ NAME`. '`Transformați în setul de caractere utf8 COLLATE utf8 _ _ generală CI;' # 41; AS sQLCODE
Din `informații _ schema`. `TABLES` t
unde 1
Și t. `TABELUL _ SCHEMA` = 'My _ DB _ _ pentru a converti'
COMANDA PRIN 1
LIMIT 0. 90

Această interogare va rula versiunea 5 și mai sus în MySQL. My_DB_for_convert - ar trebui să fie înlocuit cu numele tabelei de bază de date în care doriți să convertiți la UTF-8.

utf8_general_ci sau utf8_unicode_ci

utf8_unicode_ci utf8_general_ci și diferă numai în viteza și ordinea de sortare. Deoarece utf8_general_ci este mai rapid - aceasta este alegerea preferată. Mai mult, despre diferențele dintre utf8_general_ci și utf8_unicode_ci pot fi găsite în documentația MySQL oficială (eng). Dacă este necesar, metoda descrisă mai sus poate fi modificat podkodirovku UTF8 c utf8_general_ci pe utf8_unicode_ci.