java向數(shù)據(jù)庫插入數(shù)據(jù)顯示亂碼的幾種問題解決
在開發(fā)的過程中我們經(jīng)常能遇到亂碼的問題,這個出現(xiàn)這個問題的可能性非常的多,對于開發(fā)人員來說亂碼的問題又不得不去,本文就著出現(xiàn)亂碼的情況對其的解決的方法進行了總結(jié),希望能夠?qū)τ诖蠹矣杏谩?/p>
1、前臺亂碼的問題
檢查前臺頁面上的charset的字符集是否是utf-8

然后再查看后臺項目的編碼集是否是一致的
右擊項目-->選擇Properties-->然后查看一下Text file encoding 下的編碼格式是否為utf-8,如果不是就把他改為utf-8即可
?
2、前臺先后臺插入數(shù)據(jù)后臺接收到的數(shù)據(jù)是亂碼
第一步:我們可以先查看一下tomcat的conf文件夾下的server.xml文件中的Connector是否是utf-8,如果不是就添加?URIEncoding="UTF-8",設(shè)置tomcat的編碼格式為utf-8

如果tomcat上修改編碼格式的方式還不行,那么第二步:我們可以去修改web.xml配置文件,因為前臺向后臺傳輸數(shù)據(jù)都需要經(jīng)過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、后臺向數(shù)據(jù)庫插入數(shù)據(jù)是亂碼
后臺向數(shù)據(jù)庫插入的數(shù)據(jù)是亂碼,那么大部分是項目和數(shù)據(jù)庫的編碼格式不服,前面已經(jīng)設(shè)置了項目的編碼格式為utf-8,那么接下來我們就要檢查數(shù)據(jù)庫的編碼格式具體步驟如下:

測試一下亂碼的問題是否解決,如果還不行則還可以檢查數(shù)據(jù)庫的設(shè)置,在mysql安裝目錄的my.ini中應(yīng)該有如下的配置(沒有可以手動添加):
[mysql] character_set_server=utf8 init_connect='SET NAMES utf8'

最后還可以試下修改數(shù)據(jù)庫連接,使用以下方式指定編碼:
jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8
運用這些方法解決了我的傳值問題,相信對你也有用。
附:Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼的問題
主要解決方向,JAVA與MYSQL中編碼要統(tǒng)一。通常采用UTF-8.
這里雖然你在項目中設(shè)置了數(shù)據(jù)庫采用UTF-8,但是那里不包括連接方式之類的。
1.查詢自身MYSQL編碼方式
MySQL默認編碼是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.若項目用UTF8編碼,則將MYSQL也改為UTF8編碼。通過修改my.ini文件。添加如下幾項,再重啟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ù)庫插入數(shù)據(jù)顯示亂碼問題解決的文章就介紹到這了,更多相關(guān)java插入數(shù)據(jù)顯示亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java通過MySQL驅(qū)動攔截器實現(xiàn)執(zhí)行sql耗時計算
本文主要介紹了java通過MySQL驅(qū)動攔截器實現(xiàn)執(zhí)行sql耗時計算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
spring @EventListener 事件與監(jiān)聽的示例詳解
本文介紹了自定義Spring事件和監(jiān)聽器的方法,包括如何發(fā)布事件、監(jiān)聽事件以及如何處理異步事件,通過示例代碼和日志,展示了事件的順序執(zhí)行和異步處理機制,感興趣的朋友一起看看吧2025-03-03
Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)
文章主要介紹了Java中Map和Set兩種數(shù)據(jù)結(jié)構(gòu)的定義、實現(xiàn)、方法及應(yīng)用場景,Map用于存儲鍵值對,鍵唯一,值可重復(fù);Set用于存儲唯一元素,無序,兩者都提供了豐富的操作方法,如添加、刪除、查找等,感興趣的朋友一起看看吧2025-02-02
springboot 如何修改默認端口及application.properties常用配置
這篇文章主要介紹了springboot 如何修改默認端口及application.properties常用配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java反轉(zhuǎn)字符串和相關(guān)字符編碼的問題解決
反轉(zhuǎn)字符串一直被當作是簡單問題,大家的思想主要就是利用遍歷,首尾交換字符實現(xiàn)字符串的反轉(zhuǎn)。例如下面的代碼,就可以簡單實現(xiàn)反轉(zhuǎn)。2013-05-05

