2016-04-08 21 views
0

MySQL JSON. İçindeki tablolar DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ile tanımlanmıştır. Ancak, tablolardaki verilerin yanlış kodlanmış gibi görünüyor.Bir MySQL veritabanı var kodlama sorunu

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

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

nasıl doğru kodlama için tablodaki metni dönüştürebilirim?

cevap

0

istemci sahip bayt doğru utf8 (iyi) kodlanıyor

  • Mojibake.
  • Muhtemelen varsayılan olarak SET NAMES latin1 (ya set_charset('latin1') ya ...) ile bağlantılı. Tablolarda
  • sütun veya CHARACTER SET utf8 edilmiş olabilir veya olmayabilir (O. utf8 olmalıydı), ama bu olmalıydı. (Onların olduklarını açıkladı.)

istemci nedir? "Mysql komut satırı aracı" ise (bağlandığı gibi), bağlandıktan sonra SET NAMES utf8 yapın.

Bundan sonra, isn’t, isn?t olarak gelirse, bkz. my blog.

İlgili konular