2012-02-19 63 views
2

我想弄清楚如何創建一個表,以便我可以插入日文名稱。現在,我有:MySQL與日文字符

Type: InnoDB 
Encoding: UTF-8 Unicode (utf8) 
Collation: utf8_general_ci 

然而,當我插入字符,它顯示爲????。當我使用SELECT檢索數據時,它也顯示爲????。我需要做什麼才能正確存儲和檢索日文字符(漢字,平假名和片假名)?

+0

什麼是你計劃中存儲這些字符表的'默認charset'? – 2012-02-19 19:28:13

+0

@MikePurcell我在哪裏可以找到這些信息?是這樣的:'CHARACTER SET latin1'? – David542 2012-02-19 19:39:09

回答

3

做一個ALTERcharsetutf8解決該問題:

ALTER TABLE title MODIFY 
    column VARCHAR (100) 
    CHARACTER SET utf8 
    COLLATE utf8_unicode_ci; 
+0

不錯,看起來像你修復它。你也可以確定你的連接默認設置爲utf-8。更多信息@ http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_init_connect – 2012-02-19 20:16:19

+0

@MikePurcell:SET GLOBAL init_connect ='SET character_set = utf-8' ;'? – David542 2012-02-19 20:31:26

+2

在我的MySQL配置文件(/etc/my.cnf)下的服務器部分(mysqld),我有'init-connect ='SET NAMES utf8''。這確保了與數據庫的任何連接也將支持utf8字符。 – 2012-02-19 20:38:13