Я собираюсь взять на себя утомительную задачу по преобразованию базы данных из Latin1 в UTF-8.
На этом этапе я просто хочу проверить, какие данные я сохранил в своих таблицах, так как это определит, какой подход я должен использовать для преобразования данных.
В частности, я хочу проверить, есть ли у меня символы UTF-8 в столбцах Latin1, как лучше всего это сделать? Если затронуты только несколько строк, я могу просто исправить это вручную.
Вариант 1. Сделать дамп MySQL и использовать Perl для поиска символов UTF-8?
Вариант 2. Использовать MySQL CHAR_LENGTH для поиска строк с многобайтовыми символами? например SELECT name FROM clients WHERE LENGTH(name) != CHAR_LENGTH(name);
Этого достаточно?
На данный момент я переключил свою клиентскую кодировку Mysql на UTF-8.
0xF0 0x53
означает две разные вещи в UTF-8 и Latin1, вы не узнаете, что это такое, даже после того, как найдете ее ... - person Borealid   schedule 16.02.2012