ПредишенСледващото

Тя ще изглежда проста задача, изпълнена за всяка заявка на масата:

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 или остава отворен.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!