私信  •  关注

Christian Ammer

Christian Ammer 最近创建的主题
Christian Ammer 最近回复了

我不建议richies回答,因为你把数据库里的数据搞砸了。你不能修复你的问题,但是试着“隐藏”它,并且不能用废弃的数据执行基本的数据库操作。

如果您遇到此错误,可能是您发送的数据不是utf-8编码的,或者您的连接不是utf-8。首先,验证数据源(文件,…) 真正地 是UTF-8。

然后,检查数据库连接,连接后应执行以下操作:

SET NAMES 'utf8';
SET CHARACTER SET utf8;

接下来,验证存储数据的表是否具有utf8字符集:

SELECT
  `tables`.`TABLE_NAME`,
  `collations`.`character_set_name`
FROM
  `information_schema`.`TABLES` AS `tables`,
  `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations`
WHERE
  `tables`.`table_schema` = DATABASE()
  AND `collations`.`collation_name` = `tables`.`table_collation`
;

最后,检查数据库设置:

mysql> show variables like '%colla%';
mysql> show variables like '%charac%';

如果源、传输和目标都是utf-8,那么问题就解决了;)