日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

WEB项目中的中文乱码问题

發布時間:2025/3/18 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WEB项目中的中文乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

目錄:

、Request中文亂碼

二、tomcat 中文亂碼



一、Request中文亂碼

解決request中文亂碼的問題

request.setCharacterEncoding(charset);必須寫在第一次使用request.getParameter

()之前,

這樣才能保證參數是按照已經設置的字符編碼來獲取。

response.setCharacterEncoding(charset);必須寫在PrintWriter out =

request.getWriter()之前,

這樣才能保證out按照已經設置的字符編碼來進行字符輸出。

通過過濾器,我們可以保證在Servlet或JSP執行之前就設置好了請求和響應的字符編碼

但是這樣并不能完全解決中文亂碼問題:

對于post請求,無論是“獲取參數環節”還是“輸出環節"都是沒問題的;

對于get請求,"輸出環節"沒有問題,但是"獲取參數環節"依然出現中文亂碼,所以在輸

出時直接將亂碼輸出了。

原因是post請求和get請求存放參數位置是不同的:

post方式參數存放在請求數據包的消息體中。get方式參數存放在請求數據包的請求行的

URI字段中,

以?開始以param=value&parame2=value2的形式附加在URI字段之后。而

request.setCharacterEncoding(charset);

只對消息體中的數據起作用,對于URI字段中的參數不起作用。

當使用request.setCharacterEncoding(charset);時,只能解決表單方法為POST的中文

亂碼情況,而方法為GET的依然為亂碼。

解決GET亂碼:

String?str?=request.getParameter("URL后面的變量名");byte?b[]?=str.getBytes("ISO-8859-1");str?=?newString(b);


轉載于:https://my.oschina.net/u/264186/blog/637924

總結

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

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