1. 程式人生 > >java中在寫入mysql資料庫時出現的亂碼問題

java中在寫入mysql資料庫時出現的亂碼問題

1.亂碼問題一直都是程式設計當中的一個頭痛的地方,至少我是這麼認為的。所以我就記住了兩個常用的解決java中文亂碼問的語句,

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"); 


2.在解決一些問題之後,發現這兩句話還不夠,在java web中發現:網頁會亂碼,在eclipe中設定了好多的utf-8的編碼格式都沒用,解決方法就是設定瀏覽器的編碼方式為utf-8.

步驟  谷歌瀏覽器點選 【自定義及控制】->【更多工具】->【編碼】->【utf-8】就行了 。


3.現在要說的是我今天弄了好久的亂碼的問題了,今天的問題也是比較奇葩!在我用Navicat開啟mysql資料庫時,用命令列插入一箇中文欄位,竟然顯示亂碼。

我也是無語了,不知道是不是我的資料庫出了什麼問題了。後來各種搜尋,找到了一個解決方法

執行 show variables like 'char%';

可以顯示出編碼的格式



如果你的mysql不是顯示上圖所示的,可以執行下面這句話

ALTER TABLE t_food DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;   我用這句話好像並沒什麼用

其實真正解決我的問題的  還是執行的下面這句話,才解決在mysql中的亂碼問題



ALTER TABLE `tableName` CONVERT TO CHARACTER SET UTF8;

上面這句話,大概是修改某個表的字元編碼,改為utf8

上面解決了我一半的問題吧,還有個問題就是我用java 通過jdbc驅動包,向mysql插入中文欄位時,就會變成問好,我也是無語了,又是查資料,

終於知道是驅動包的問題,只需要在驅動的url上加上


就才解決了我的問題。

這是我第一次寫部落格吧!剛開通的部落格,我寫部落格的目的呢,主要是想幫助自己整理一些常見的錯誤吧,這樣下次就不容易再犯同樣的錯誤了。我自己還有很多需要學習的地方,所以部落格對別人的幫助肯定會很小吧!

通過這篇部落格 我也認識到了自己的一個問題,在程式設計方面我不願意去深入研究為什麼會產生這個結果,這裡面的機制是什麼。就只是覺得這樣做能解決問題,以後都這樣做就行了,不需要知道里面的問題,知道了也沒用。很多時候我都是這樣想的。這是我自己的一個缺點吧。