【发布时间】:2013-07-30 16:14:16
【问题描述】:
我遇到了 MySQL 表的编码问题。
我做了什么
- 表设置为utf8_unicode_ci
- 列也被设置为 utf8_unicode_ci 在需要的地方
- 查看前设置“SET NAMES utf8”和元数据
数据/问题
有问题的列(评论)是从 MS word 复制和粘贴的。
- 使用 ’ 等字符串而不是 '
- Prêt à Manger 应该读作 Pret a Manger
- 其他类似问题
我试过了:
UPDATE table_name SET col_name = CONVERT(CONVERT(CONVERT(col_name USING latin1) USING binary) USING utf8);
这个删减数据。例如“花费 10 英镑或更多的好评”。运行上述查询后,它会变成“ncie review costing”。
任何帮助/建议将不胜感激。 谢谢, 马特
【问题讨论】:
-
我有 a solution 可能对你有用。你的意思是“Prêt à Manger”,对吗?
-
感谢您的帮助,但是:MySQL 返回了一个空结果集(即零行),没有任何更改
-
我认为您的 UTF-8 数据被解释为 Latin1,而不是相反。
-
php 说它是 utf8,但是如果我设置了所有标题,为什么它不能在浏览器中正确显示?
-
PHP 只说它认为它是什么,而不是它实际上是什么。当您看到单个字符扩展为多个字符时,几乎总是多字节 UTF-8 字符被错误解释为 Latin1。