解決java專案中文亂碼問題
javaweb專案中文亂碼問題解決
**
字元編碼集問題總結
:
首先,要在建立資料庫的時候要指定編碼(來使資料庫支援中文)。如果是在cmd命令列視窗中進行操作來建立mysql資料庫的話,就要使用額外的語句來指定編碼集了。當然呢,一般人都是使用mysql的檢視化工具建立的資料庫。
如果是使用mysql的檢視化工具來建立資料庫的話,就要在建立的時候,直接通過選項來指定中文。一般來說使用utf8。當然如果是gbk也行,不過使用gbk的話,在一些作業系統上用不了。建立之後,你可以檢視一下你的資料庫中各個表的字元編碼集,看是否成功設定了。
其次
再次,還要看你所建立的javaweb專案中的字元編碼集。直接在專案上右鍵–>properties—>然後上網查就知道了。
還有,在確保資料庫支援中文、以及MyEclipse(即使是eclipse也一樣的操作)的編碼集之後,
**要在JDBC的四大引數中的String url=“jdbc:mysql://127.0.0.1:3306/bb?useUnicode=true&characterEncoding=gbk”;這樣寫。
如果你的是utf-8編碼,那麼就要寫成
如果jdbc的四大引數是寫在Xml配置檔案中的(有時候,因為需要,所以就寫到了xml檔案中),並且當你把?useUnicode=true&characterEncoding=gbk";**寫到.xml配置檔案中報錯了。這時可以將useUnicode=true去掉,就可以解決了。實際上也不是必須去掉,還可以把&改為前端頁面專用的&
就行了。。
個人覺得,經過我試驗,發現,只要資料庫支援中文(即:設定了gbk或者utf8)。MyEclipse的工作區或者專案的編碼集,都不重要;最重要的是要在四大引數的URL中新增一句?useUnicode=true&characterEncoding=gbk(一定要注意:這個才是最重要的)
就相當於JDBC這個中介軟體的指定編碼集最重要一樣。
而且,一般來說,在javaweb專案中,很多人都習慣於在Servlet中使用request物件和response物件的方法來設定編碼集,這個也是可取的。就兩句程式碼的是。網上有很多。
如果是在cmd命令列視窗中進行操作來建立mysql資料庫的話,就要使用額外的語句來指定編碼集了。如下:
create database 資料庫名 default character set utf8 collate utf8_general_ci;
或者create database 資料庫名 default character set gbk collate gbk_chinese_ci;
JDBC連線MySql資料庫的四大引數之一的urljdbc:mysql://ip:port/資料庫名?useUnicode=true&characterEncoding=utf8
註釋:因為第一次在這上面寫部落格,很多設定不清楚,所以板書有些亂。
想要詳細瞭解:加Q:1731808698