【问题标题】:MySQL UTF8/ASCII/ISO Encoding IssueMySQL UTF8/ASCII/ISO 编码问题
【发布时间】:2013-07-30 16:14:16
【问题描述】:

我遇到了 MySQL 表的编码问题。

我做了什么

  1. 表设置为utf8_unicode_ci
  2. 列也被设置为 utf8_unicode_ci 在需要的地方
  3. 查看前设置“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。

标签: mysql encoding ascii


【解决方案1】:

要仔细检查您的 utf8 设置是否正确,请尝试以下操作:

  1. 登录mysql并运行mysql> show variables like 'char%';

输出应如下所示:

+--------------------------+---------- ------------+ |变量名 |价值 | +--------------------------+---------- ------------+ | character_set_client | utf8 | |字符集连接 | utf8 | |字符集数据库 | utf8 | |字符集文件系统 |二进制 | |字符集结果 | utf8 | | character_set_server | utf8 | |字符集系统 | utf8 | |字符集目录 | /usr/local/mysql/share/charsets/| +--------------------------+---------- ------------+
  1. 然后运行mysql> show variables like 'collation%';

这应该给你:

+---------------------------------+-----------------+ |变量名 |价值 | +---------------------------------+-----------------+ | collat​​ion_connection | utf8_general_ci | | collat​​ion_database | utf8_unicode_ci | |排序服务器 | utf8_unicode_ci | +---------------------------------+-----------------+

如果没有编辑你的/etc/my.cnf/etc/mysql/my.cnf,如果你没有找到它就运行sudo find / -name my.cnf

找到它后,请按vim /etc/my.cnfi 插入文本并添加

[mysqld] 整理服务器 = utf8_unicode_ci init-connect='设置名称 utf8' 字符集服务器 = utf8

随意注释掉前一个/旧的 [mysqld] 块或行。

esc保存文件,然后输入:wq并按enter

  1. 重启mysqlservice mysql restartservice mysqld restart

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2014-01-18
    • 2012-02-21
    • 2014-12-17
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多