Тя ще изглежда проста задача, изпълнена за всяка заявка на масата:
ALTER TABLE ". $ TableName. "Преобразуване в набор от символи utf8 съпоставя utf8_unicode_ci;
и сте готови! Все пак, не всичко е толкова просто, и има следните точки са на стойност обръща внимание на:
В MySQL, има две концепции за кодиране и характера събира и след това 2 точки:
- за цялата маса - това са различни стойности (кодирането на съхранение на данни в областта без да се уточнява кодиращата и характер Сравнението на данните в колоните на таблицата)
- област маса - същата стойност (кодираща съхранение)
1. Конвертиране в набор от символи могат да се направят от данните - въпросителни знаци (освен ако новата кодиране не се поддържа от символите на старата кодиране). Така че може би не е необходимо да се направи конверсията, но достатъчно, за да промените вида на помирение:
ALTER TABLE ". $ TableName. "Съпоставя = utf8_unicode_ci;
2. необходимостта да конвертирате само тези таблици, които не разполагат с utf8, защото може да бъде полета за кодиране в тази таблица не са изброени изрично utf8 (например за намаляване на данни съкращения, тъй като utf8 при всеки знак използва 2 байта, а не един в други кодировки)
3, проверете кодировката на текстовите полета, нещо подобно на това, с изключение на масите:
е необходимо да се правилно razrulit конвертирате кодировки, например: utf8_bin, latin1, utf8, примерна таблица:
особено важно в областта на конвертиране utf8_bin utf8, така например, имам молба:
Обяснявам: utf8bin поле е уникална, с малки букви, и ние се опитахме да доведе до кодирането не се поддържа CS (случай sensetive - малки и големи букви)
4. Моля, имайте предвид, че преминаването от utf8_general_ci на utf8_unicode_ci ние разширяваме таблицата с характер, а след това не е проблем, но ние се разширява все още не е до utf8_bin, така че въпрос CI CS или остава отворен.
Свързани статии