我正在插入一些非ascii(特别是亚洲字符到chaqlet utf8的mysql表列,但插入后,如果我再次检索它,它显示为????。我检查了db,table和column charset ,他们都是utf8。出了什么问题?
CREATE TABLE `test_utf` ( `test_id` bigint(20) NOT NULL auto_increment, `raw_text` longtext, PRIMARY KEY (`test_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; insert into test_utf (raw_text) values('黄剑');
答案 0 :(得分:3)
问题解决了!
我需要将characterEncoding=UTF-8
添加到我正在使用的任何mysql客户端,
例如,当我使用jdbc
时,我需要在连接网址中指定"jdbc:mysql://localhost/dbname?characterEncoding=UTF-8"
。