2016-04-08 99 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