我试图使用UTF-8并遇到麻烦.
我尝试了很多东西; 这是我得到的结果:
????而不是亚洲人物.即使是欧洲文本,我也得到Se?or了Señor.Señor或新浪新闻为????.Sefor Señor.我究竟做错了什么?我该如何修复代码?我可以恢复数据,如果是,如何恢复?
我即将承担将数据库从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.