談一談mysql給我帶來的中文亂碼問題

首先,我用的mysql版本號是5.5.17的,最近遇到的問題是在eclipse中經過jdbc往數據庫寫中文數據的時候,在數據庫中顯示的是??即亂碼,爲解決這個問題,搞了一個晚上(固然熄燈後就就寢了(^__^) )外加早上這會兒,搞得頭都大了,改來改去致使連往數據庫直接寫中文都會報錯(我把錯誤頁貼出來吧)以下:
mysql報的錯誤mysql

其實如今回頭看看,亂碼無非是改一下mysql安裝文件中的my.ini文件以及data中的db.opt文件,具體修改以下:sql

  1. 將my.ini文件中的文件修改成:
    [client]

port=3306數據庫

[mysql]eclipse

default-character-set=gbk編碼

[mysqld]
character-set-server=utf8server

  1. 如今須要將data中的db.opt修改一下:
    default-character-set=utf8
    default-collation=utf8_general_ci
    好了,如今修改文件完畢,如今須要重寫啓動mysql服務,進入mysql後輸入命令:
    show variables like 「%colla%」;
    而後再輸入show varables like 「%char%」;
    若是以上結果和下圖相同那就設置成功了
    圖一

圖二

另外,之後若是再遇到從eclipse中往數據庫寫中文數據出sql異常時能夠先在cmd中輸入命令:
show create database db;(db爲數據庫名)能夠查看數據庫的編碼,若是仍是latin1,可以使用如下命令修改數據庫編碼:
alter database db default character set utf8;
這樣就能夠將數據庫的編碼改成utf8了。 此時,再經過jdbc鏈接時,就能夠很隨意的添加中文到mysql中了。
以上即是我在使用mysql中遇到的亂碼問題,但願能給遇到相同問題的同窗少走彎路提供一點參考。。。ip

相關文章
相關標籤/搜索