相关疑难解决方法(0)

UTF-8字符有问题; 我看到的不是我存储的东西

我试图使用UTF-8并遇到麻烦.

我尝试了很多东西; 这是我得到的结果:

  • ????而不是亚洲人物.即使是欧洲文本,我也得到Se?or了Señor.
  • 奇怪的胡言乱语(Mojibake?)如Señor或新浪新闻为????.
  • 黑色钻石,如Se or.
  • 最后,我陷入了数据丢失或至少被截断的情况:Sefor Señor.
  • 即使我看到正确的文字,它也没有正确排序.

我究竟做错了什么?我该如何修复代码?我可以恢复数据,如果是,如何恢复?

mysql unicode utf-8 character-encoding mariadb

66
推荐指数
3
解决办法
3万
查看次数

如何检测Latin1编码列中的UTF-8字符 - MySQL

我即将承担将数据库从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.

mysql utf-8 character-encoding latin1

16
推荐指数
2
解决办法
3万
查看次数

标签 统计

character-encoding ×2

mysql ×2

utf-8 ×2

latin1 ×1

mariadb ×1

unicode ×1