2016-04-08 75 views
0

我有一个MySql数据库。其中的表格用DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci定义。但是,表格中的数据似乎被错误编码。MySql JSON编码问题

SELECT json_object('x', textfield) AS test FROM MyTable LIMIT 1;

+-----------------------------+ 
| test      | 
+-----------------------------+ 
| {"x": "This isn’t right"} | 
+-----------------------------+ 

如何在表中的文本转换为正确的编码?

回答

0

变为乱码

  • 在客户端你拥有的字节正确UTF8(好)编码。
  • 您与SET NAMES latin1(或set_charset('latin1')或...)连接,可能是默认情况下。 (它应该是utf8。)
  • 表中的列可能或可能不是CHARACTER SET utf8,但应该是这样的。 (你说他们是)

你的客户是什么?如果它是“mysql命令行工具”(看起来像),则在连接后执行SET NAMES utf8

之后,如果isn’t出现为isn?t,请参阅my blog