新聞中心
以下的文章主要介紹的是MySQL中文亂碼的解決,MySQL中文亂碼在實(shí)際的應(yīng)用中是經(jīng)常出現(xiàn),導(dǎo)致實(shí)際的運(yùn)行中產(chǎn)生很多的不便,以下的文章就是介紹MySQL中文亂碼的解決方案。望你能有所收獲。

成都創(chuàng)新互聯(lián)企業(yè)建站,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站制作、做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場調(diào)研,為客戶提供的解決方案。
原來常常在群里看到MySQL的亂碼問題,但是由于本人一直在用oracle和sql server所以沒多在乎,昨天用了用MySQL結(jié)果就遇到了傳說中的亂碼…..。現(xiàn)在我們來講講MySQL的亂碼問題。首先你進(jìn)入的你MySQL
用show variables查看
這里可以查看到你的字符集,character_set_server是服務(wù)器編碼?,F(xiàn)在我們默認(rèn)的是latin1要改變服務(wù)器的編碼必須重新啟動(dòng)服務(wù)器,我們先用MySQLadmin –uroot shutdown關(guān)閉服務(wù)器,然后MySQLd –C GBK啟動(dòng)服務(wù)器 –C是character_set_server的一個(gè)簡寫(可以也可以寫成MySQLd –character_set_server gbk).這樣修改以后我們再進(jìn)入MySQL查看就會(huì)顯示:
這樣我們就把服務(wù)器和數(shù)據(jù)庫的編碼改為了GBK。
現(xiàn)在我們就可以插入中文字符串了,但是為什么有時(shí)間還是會(huì)顯示
- Exception in thread "main" com.MySQL.jdbc.MySQLDataTruncation: Data truncation: Data too long for column 'name' at row 1
MySQL中文亂碼解決中出現(xiàn)上述情況,這是因?yàn)槟阒皇切薷牧薓ySQL的服務(wù)器的字符編碼,并沒有修改已經(jīng)有數(shù)據(jù)庫的編碼,這時(shí)候你需要手動(dòng)的把data目錄下的數(shù)據(jù)庫中的db.opt中的編碼改為
- default-character-set=gbk
- default-collation=gbk_chinese_ci
這樣修改以后你在重啟服務(wù)器就可以插入中文了。
但是這時(shí)候還有個(gè)問題就是在你應(yīng)用程序當(dāng)中顯示的是中文字符,但是在命令窗口還是亂碼。
這時(shí)候你注意我們上面圖中的character_set_client字符還是latin1當(dāng)然顯示的是亂碼咯喲。所以你進(jìn)入MySQL客戶端程序的時(shí)候因該把客戶端默認(rèn)的編碼改為gbk才能顯示正常。
你可以在MySQL里修改,也可以在登陸的時(shí)候MySQL –uroot –default-character-set=gbk修改
如此以來就解決了MySQL中文亂碼解決了。
分享標(biāo)題:MySQL中文亂碼具體解決方案
瀏覽路徑:http://fisionsoft.com.cn/article/djggjhj.html


咨詢
建站咨詢
