日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC开发过程中的中文乱码问题

發布時間:2025/6/15 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC开发过程中的中文乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信大家在開發初期遇到中文亂碼問題一定是一頭霧水,不是數據庫亂碼了就是頁面亂碼了或者傳值時亂碼。其實解決亂碼的途徑很簡單,就是統一編碼與解碼的類型,我把自己遇到的亂碼問題整理出來,希望能夠對大家有用。

首先需要對ide下的編碼做統一,我使用的是idea,在頁面下面如圖所示都有文件編碼類型,選擇utf-8:?

配置完后,需要對idea的全局編碼也進行配置,在idea的配置中進行設置,Preferences中輸入encoding,然后進行如下配置?

配置完后,如果是jsp頁面,那么也需要在jsp頁面中統一添加如下代碼:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

?

?

配置完上述配置后,一般出現亂碼情況也只有我們在傳遞數據的時候編碼與解碼方法不一致,我遇到的有下面兩種,數據庫與頁面間傳值。

數據庫中文亂碼意思是本來在我們頁面中的中文是顯示正確的,但是存入數據庫時,要么寫入sql時出現了亂碼,要么存入了數據庫后變成了亂碼。有以下幾點需要注意:?
1.在連接數據庫時,在jdbc_url中添加useUnicode=true&characterEncoding=utf8,這樣做指定了字符的編碼與解碼的格式。

jdbc:mysql://localhost:3307/dbbasename?useUnicode=true&characterEncoding=utf8

?

?

在需要向數據庫存入數據時,會先用UTF-8格式將數據解碼成字節碼,然后再將解碼后的字節碼重新使用GBK編碼存放到數據庫中。?
在取數據時,數據庫會先將數據庫中的數據按GBK格式解碼成字節碼,然后再將解碼后的字節碼重新按UTF-8格式編碼數據,返回給客戶端。

數據庫也需要進行相應的設置,我們通過以下語句來查看我們數據庫的編碼方式:

show variables like "%char%";

?

?

一般是需要結果如下圖所示:?

如果不對,可以使用set names utf8語句來配置。?
在配置完數據庫的編碼格式后,我們在創建數據庫與數據表的時候最好也統一一下格式,加入如下圖的語句:?

到這里數據庫就配置完成,一般情況下不會再出現中文亂碼情況。

下面說下頁面間傳值,在前臺的表單數據,傳輸到后臺是,利用request.getParameter()語句取值時,發現中文亂碼,此時有兩種情況,一種是post提交方式,可以采用spring的字符編碼過濾器,在?
web.xml中添加以下配置:

<!-- 配置Spring字符編碼過濾器 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

?

還有一種是get方式出現中文亂碼,此時上種配置spring字符集的方法就沒有用了,需要在tomcat文件夾下的conf/servler.xml中設置,找到一下代碼,在最后加入URIEncoding=”UTF-8”

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443"/> 改成: <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443"   URIEncoding="UTF-8"/>

?

?

上述為我在開發過程中遇到的中文亂碼問題,希望在看了這篇文章后能夠解決大家的中文亂碼問題。

轉載于:https://www.cnblogs.com/alivn/p/4823405.html

總結

以上是生活随笔為你收集整理的SpringMVC开发过程中的中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。