2011-07-31 174 views
0

我插入一些非ascii(特別是亞洲字符到字符集UTF8的mysql表列,但插入後,如果我再次檢索它,它顯示爲????。我檢查了數據庫,表和列字符集,他們都是UTF8。有什麼不對?mysql 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

你在哪裏顯示它們?在終端窗口中?您的終端是否設置爲將字節解釋爲UTF-8編碼的字符? –

回答

1

問題解決了!

我需要添加characterEncoding=UTF-8到任何MySQL客戶端我使用,

例如,當我使用jdbc我需要在連接url中指定"jdbc:mysql://localhost/dbname?characterEncoding=UTF-8"