java向數(shù)據(jù)庫(kù)插入數(shù)據(jù)顯示亂碼的幾種問(wèn)題解決
在開發(fā)的過(guò)程中我們經(jīng)常能遇到亂碼的問(wèn)題,這個(gè)出現(xiàn)這個(gè)問(wèn)題的可能性非常的多,對(duì)于開發(fā)人員來(lái)說(shuō)亂碼的問(wèn)題又不得不去,本文就著出現(xiàn)亂碼的情況對(duì)其的解決的方法進(jìn)行了總結(jié),希望能夠?qū)τ诖蠹矣杏谩?/p>
1、前臺(tái)亂碼的問(wèn)題
檢查前臺(tái)頁(yè)面上的charset的字符集是否是utf-8
然后再查看后臺(tái)項(xiàng)目的編碼集是否是一致的
右擊項(xiàng)目-->選擇Properties-->然后查看一下Text file encoding 下的編碼格式是否為utf-8,如果不是就把他改為utf-8即可
?
2、前臺(tái)先后臺(tái)插入數(shù)據(jù)后臺(tái)接收到的數(shù)據(jù)是亂碼
第一步:我們可以先查看一下tomcat的conf文件夾下的server.xml文件中的Connector是否是utf-8,如果不是就添加?URIEncoding="UTF-8",設(shè)置tomcat的編碼格式為utf-8
如果tomcat上修改編碼格式的方式還不行,那么第二步:我們可以去修改web.xml配置文件,因?yàn)榍芭_(tái)向后臺(tái)傳輸數(shù)據(jù)都需要經(jīng)過(guò)web.xml配置文件。
具體代碼如下:
< servlet > < servlet-name >Encodeing</ servlet-name > < servlet-class >cn.hncu.com.encode.Encodeing</ servlet-class > < init-param > < param-name >charset</ param-name > < param-value >utf-8</ param-value > </ init-param > </ servlet >
3、后臺(tái)向數(shù)據(jù)庫(kù)插入數(shù)據(jù)是亂碼
后臺(tái)向數(shù)據(jù)庫(kù)插入的數(shù)據(jù)是亂碼,那么大部分是項(xiàng)目和數(shù)據(jù)庫(kù)的編碼格式不服,前面已經(jīng)設(shè)置了項(xiàng)目的編碼格式為utf-8,那么接下來(lái)我們就要檢查數(shù)據(jù)庫(kù)的編碼格式具體步驟如下:
測(cè)試一下亂碼的問(wèn)題是否解決,如果還不行則還可以檢查數(shù)據(jù)庫(kù)的設(shè)置,在mysql安裝目錄的my.ini中應(yīng)該有如下的配置(沒(méi)有可以手動(dòng)添加):
[mysql] character_set_server=utf8 init_connect='SET NAMES utf8'
最后還可以試下修改數(shù)據(jù)庫(kù)連接,使用以下方式指定編碼:
jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8
運(yùn)用這些方法解決了我的傳值問(wèn)題,相信對(duì)你也有用。
附:Java向數(shù)據(jù)庫(kù)插入中文出現(xiàn)亂碼的問(wèn)題
主要解決方向,JAVA與MYSQL中編碼要統(tǒng)一。通常采用UTF-8.
這里雖然你在項(xiàng)目中設(shè)置了數(shù)據(jù)庫(kù)采用UTF-8,但是那里不包括連接方式之類的。
1.查詢自身MYSQL編碼方式
MySQL默認(rèn)編碼是latin1
mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +--------------------------+--------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | D:\MySQL\share\charsets\ | +--------------------------+--------------------------+
2.若項(xiàng)目用UTF8編碼,則將MYSQL也改為UTF8編碼。通過(guò)修改my.ini文件。添加如下幾項(xiàng),再重啟MYSQL服務(wù)就好。
[mysql] default-character-set = utf8 [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci
總結(jié)
到此這篇關(guān)于java向數(shù)據(jù)庫(kù)插入數(shù)據(jù)顯示亂碼問(wèn)題解決的文章就介紹到這了,更多相關(guān)java插入數(shù)據(jù)顯示亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析JavaMail發(fā)送郵件后再通過(guò)JavaMail接收格式問(wèn)題
這篇文章主要介紹了JavaMail發(fā)送郵件后再通過(guò)JavaMail接收格式問(wèn)題 ,本文通過(guò)代碼實(shí)例給大家詳細(xì)解說(shuō),需要的朋友可以參考下2019-06-06教你如何將Springboot項(xiàng)目成功部署到linux服務(wù)器
這篇文章主要介紹了如何將Springboot項(xiàng)目成功部署到linux服務(wù)器上,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12SpringBoot使用MyBatis時(shí)的幾種傳參規(guī)范示例
使用Mybatis作為持久層框架時(shí),對(duì)于數(shù)據(jù)庫(kù)的增刪改查等操作都需要參數(shù)的傳遞,本文就詳細(xì)的介紹了一下SpringBoot使用MyBatis時(shí)的幾種傳參規(guī)范示例,感興趣的可以了解一下2022-02-02SpringCloud實(shí)現(xiàn)文件上傳功能的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringCloud如何實(shí)現(xiàn)文件上傳功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的借鑒價(jià)值,需要的可以參考一下2022-08-08Java數(shù)據(jù)結(jié)構(gòu)之雙端鏈表原理與實(shí)現(xiàn)方法
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之雙端鏈表原理與實(shí)現(xiàn)方法,簡(jiǎn)單描述了雙端鏈表的概念、原理并結(jié)合實(shí)例形式分析了java實(shí)現(xiàn)雙端鏈表的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10