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

然后再查看后臺項(xiàng)目的編碼集是否是一致的
右擊項(xiàng)目-->選擇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配置文件,因?yàn)榍芭_向后臺傳輸數(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ù)是亂碼,那么大部分是項(xiàng)目和數(shù)據(jù)庫的編碼格式不服,前面已經(jīng)設(shè)置了項(xiàng)目的編碼格式為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
運(yùn)用這些方法解決了我的傳值問題,相信對你也有用。
附:Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼的問題
主要解決方向,JAVA與MYSQL中編碼要統(tǒng)一。通常采用UTF-8.
這里雖然你在項(xiàng)目中設(shè)置了數(shù)據(jù)庫采用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編碼。通過修改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ù)庫插入數(shù)據(jù)顯示亂碼問題解決的文章就介紹到這了,更多相關(guān)java插入數(shù)據(jù)顯示亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java通過MySQL驅(qū)動攔截器實(shí)現(xiàn)執(zhí)行sql耗時計(jì)算
本文主要介紹了java通過MySQL驅(qū)動攔截器實(shí)現(xiàn)執(zhí)行sql耗時計(jì)算,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
帶你用Java方法輕松實(shí)現(xiàn)樹的同構(gòu)
給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構(gòu)”的。例如圖1給出的兩棵樹就是同構(gòu)的,因?yàn)槲覀儼哑渲幸豢脴涞慕Y(jié)點(diǎn)A、B、G的左右孩子互換后,就得到另外一棵樹2021-06-06
spring @EventListener 事件與監(jiān)聽的示例詳解
本文介紹了自定義Spring事件和監(jiān)聽器的方法,包括如何發(fā)布事件、監(jiān)聽事件以及如何處理異步事件,通過示例代碼和日志,展示了事件的順序執(zhí)行和異步處理機(jī)制,感興趣的朋友一起看看吧2025-03-03
Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)
文章主要介紹了Java中Map和Set兩種數(shù)據(jù)結(jié)構(gòu)的定義、實(shí)現(xiàn)、方法及應(yīng)用場景,Map用于存儲鍵值對,鍵唯一,值可重復(fù);Set用于存儲唯一元素,無序,兩者都提供了豐富的操作方法,如添加、刪除、查找等,感興趣的朋友一起看看吧2025-02-02
Java中TimedCache緩存對象的詳細(xì)使用教程
TimedCache是一個泛型類,它的主要作用通常是在一定時間范圍內(nèi)對特定鍵值對進(jìn)行緩存,并且能夠根據(jù)設(shè)定的時間策略來自動清理過期的緩存項(xiàng),本文給大家介紹了Java中TimedCache緩存對象的詳細(xì)使用教程,需要的朋友可以參考下2024-12-12
springboot 如何修改默認(rèn)端口及application.properties常用配置
這篇文章主要介紹了springboot 如何修改默認(rèn)端口及application.properties常用配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java反轉(zhuǎn)字符串和相關(guān)字符編碼的問題解決
反轉(zhuǎn)字符串一直被當(dāng)作是簡單問題,大家的思想主要就是利用遍歷,首尾交換字符實(shí)現(xiàn)字符串的反轉(zhuǎn)。例如下面的代碼,就可以簡單實(shí)現(xiàn)反轉(zhuǎn)。2013-05-05

