關於Get,Post請求中文亂碼問題有效解決方法

2021-08-27 22:02:23 字數 1102 閱讀 4266

本文主要介紹如何有效解決web請求中的亂碼問題,其實解決方法有很多種,不同的請求型別解決方法也不相同。

1、針對post方式提交的請求如果出現亂碼,可以每次在request解析資料時設定編碼格式:

request.setcharacterencoding(

"utf-8");

也可以使用編碼過濾器來解決,最常用的方法是使用spring提供的編碼過濾器:

在web.xml中增加如下配置(要注意的是它的位置一定要是第乙個執行的過濾器):

charsetfilter

org.springframework.web.filter.characterencodingfilter

encoding

utf-8

forceencoding

true

該過濾器要做的其實就是強制為所有請求和響應設定編碼格式:

request.setcharacterencoding(

"utf-8");

response.setcharacterencoding(

"utf-8

");

2、針對get方式的亂碼問題,由於引數是通過url傳遞的,所以上面通過request設定的編碼格式是不起作用的,此時可以在每次發生請求之前對url進行編碼:例如:location.href="/encodeuri"("http://localhost/test/s?name=中文&***=女");

當然也有更簡便的方法,那就是在伺服器端配置url編碼格式:

修改tomcat的配置檔案server.xml:

只需增加uriencoding="utf-8"

這一句,然後重啟tomcat即可。

相信通過這兩段配置,你再也不用擔心遇到亂碼啦,當然資料庫還有可能出現亂碼,那將是另一篇文章的事啦!

get,post請求引數中文亂碼解決

預設情況下,tomcat使用的的編碼方式 iso 8859 1 修改tomcat下的conf server.xml檔案 找到如下 這段 規定了tomcat監聽http請求的埠號等資訊。可以在這裡新增乙個屬性 uriencoding,將該屬性值設定為utf 8,即可讓tomcat 預設iso 8859...

get post請求亂碼處理

伺服器獲取客戶端的資訊交流以 請求報文 響應報文進行交流,所以伺服器讀請求報文 以及客戶端讀響應報文的編碼尤為重要。背景 根據標準,url位址除了字母 數字外,其他任何字元都要經過編碼才能傳送給伺服器。客戶端編碼 伺服器解碼型別不匹配,導致解碼錯亂 客戶端 修改server.xml配置檔案 tomc...

Get,Post請求中文亂碼問題有效解決方法

本文主要介紹如何有效解決web請求中的亂碼問題,其實解決方法有很多種,不同的請求型別解決方法也不相同。1 針對post方式提交的請求如果出現亂碼,可以每次在request解析資料時設定編碼格式 request.setcharacterencoding utf 8 也可以使用編碼過濾器來解決,最常用的...