navicat for mysql插入中文亂碼

如題,用navicat裏的命令行執行insert語句後中文顯示亂碼,而用windows dos窗口執行insert 語句時則正常顯示。首先肯定我在navicat中建立數據庫時編碼選的就是utf-8。java

網上查了不少,方法有:mysql

1)修改mysql的安裝目錄bin下的my.ini文件,確保character_set_server = utf8和default-character-set = utf8;單純的這麼設,對我來講無效;sql

2)仍然是修改my.ini文件,已經有的條目如character_set_server就修改其值爲utf8,沒有的則按照下面的加上,分別是:數據庫

--在 [mysqld] 標籤下加上二行
    default-character-set = utf8
    character_set_server = utf8
--在 [mysql]  標籤下加上一行
windows

    default-character-set = utf8eclipse

--在 [mysql.server]標籤下加上一行
    default-character-set = utf8編碼

--在 [client]標籤下加上一行
spa

    default-character-set = utf8命令行

這樣設置後,對我依然無效;orm

3)右鍵出現亂碼的鏈接--》鏈接屬性--》高級,將使用Mysql字符集前的勾去掉,以下:

    

不過設置後,對我依然無效;

4)在第 3)步的基礎上,將編碼由65001(utf-8)改成Current Windows Codepage,以下:

    

至此,個人問題終於結果。如今不管是navicat的命令行插入仍是windows dos界面插入中文,都正常顯示。

附:有時會出現這樣一種狀況,用navicat插入數據庫以及從數據庫中取出中文都正常顯示,但用java從數據庫中取出時則顯示亂碼,eclipse及database都是使用的utf-8,這時要將「使用Mysql字符集」勾選,從新插入數據庫,保證中文正常顯示,這樣用java從數據庫取出的中文也是正常顯示的。

相關文章
相關標籤/搜索