我即将进行一个繁琐且容易出错的任务,将数据库从Latin1转换为UTF-8。
目前,我只需要检查一下我存储在表中的数据类型,这将决定我应该采用什么方法来转换数据。
具体而言,我想检查一下我的Latin1列中是否有UTF-8字符,最好的方法是什么?如果只有少数行受到影响,那么我可以手动修复。
选项1.执行MySQL转储并使用Perl搜索UTF-8字符?
选项2.使用MySQL CHAR_LENGTH查找具有多字节字符的行?
例如:SELECT name FROM clients WHERE LENGTH(name) != CHAR_LENGTH(name);
这样足够吗?
目前,我已经将我的Mysql客户端编码切换为UTF-8。