導航:首頁 > 編程語言 > javaget請求亂碼

javaget請求亂碼

發布時間:2025-07-14 20:40:14

java https請求 中文亂碼問題

嘗試的方法:
1. 在服務端接收到參數時,utf-8轉gbk,無效。
2. 在服務端接收到參數時,iso-8859-1轉gbk,無效。
3. 在發送請求前將中文參數轉碼,utf-8轉iso-8859-1,無效。代碼如下:
new String(remark.getBytes(「UTF-8」), 「ISO-8859-1」)
4. 在請求端,HttpHeader設定ContentType為「application/json;UTF-8」,無效。代碼如下:
headers.setContentType(Media.valueOf(「application/json;UTF-8」));
寫到這里,有人應該感覺到這有點「病急亂投醫」的感覺了,沒有頭緒地在試著各種方式。是的,起初我覺得是請求header中採用了ISO-8859-1的編碼,但嘗試後很顯然不是;後來我覺著是否是RestTemplate中採用的HttpMessageConverter方式所決定的,但沒能找到很好的證明方式,查資料說的是StringHttpMessageConverter默認採用的是ISO-8859-1編碼,可我覺得我指定了ContentType為application/json,RestTemplate不應該去調用StringHttpMessageConverter啊,其中的原理還有待深究。個人感覺這種情況出問題的可能性最大。
最後,在網上看到一篇文章後,看了一種建議方式,並且是可行的,就是使用URLEncode,將中文參數在傳參前進行encode.這里以GBK編碼是為了在伺服器端接收參數後無需再轉碼了,如下:
list.add(URLEncode.encode(name, 「GBK」));
URLEncode方式可以解決這種特定場景的中文亂碼問題,相信理解其原理後還可以運用到更多的場景。目前我在網上看到的,關於用URLEncode處理中文亂碼最多的場景就是文件下載時中文文件名亂碼。

㈡ java get方式中文亂碼

get方式提交的參數編碼,只支持咐尺iso8859-1編碼。
因此,如果裡面有中文。
在衡灶高辯洞後台就需要轉換編碼,如下
String zhongwen = request.getParameter("zhongwen");
zhongwen = new String(zhongwen.getBytes("iso8859-1"),"GBK");
前提是你頁面編碼就是GBK,如果是utf-8,那上面那句代碼後面就改成utf-8

㈢ java中的編碼(好睏惑) 請教高手!

我看你還是不太明白一個問題

什麼是pageEncoding? ------指頁面編碼,當前整個也面的編碼方式。

request.getParameter() 是什麼 ,他指 傳遞參數的編碼,它和頁面編碼沒關系 ,
request.setCharacterEncoding(),response.setCharacterEncoding(),才是對傳遞參數設置的編碼。

String studentName=new String(request.getParameter("studentName").getBytes("ISO-8859-1"),"gb2312");

這是獲得 ISO-8859-1的位元組數組 通過gb2312解碼 ,這樣正常了
說明原先參數的編碼 是 ISO-8859-1 。

希望對你有所幫助 。

總結了下:3種最可能 產生亂嗎
java中,內部使用的是Unicode編碼

一 表單提交亂碼 :
1,get亂碼:
地址欄中傳中文亂碼的問題:需要設置tomcat , URIEncoding="utf-8"
或者
<%=new String(request.getParameter("name").getBytes("iso-8859-1"), "自己定")%>自己定要支持中文
2,post亂碼:
request.setCharacerEncoding("自己定")
或者
<%@page contentType="text/html;charset=utf-8"%>中的 charset=utf-8 是設置http的響應(response)中的編碼信息

二 頁面輸出中文時出現亂碼:response.setCharacterEncoding("utf-8」)

三 往資料庫寫入時出現亂碼 連接資料庫url上添加:useUnicode=true&characterEncoding=utf-8

另外不同的tomcat版本也許默認編碼不一樣 要做相應調整 。

最好的一個辦法就是 每個頁面都經過一個編碼過濾器filter .

pageEncoding我自己試了下,是也影響參數問題
等我找找他到底做什麼在給解釋,不大長用這個
主要還是自己學的不好。

閱讀全文

與javaget請求亂碼相關的資料

熱點內容
論語是由孔子編譯而成的對嗎 瀏覽:788
加密超級大師打不開文件 瀏覽:227
單片機編譯出現not 瀏覽:377
crv大屏安卓mv是什麼格式 瀏覽:98
python二進制的讀取和寫入 瀏覽:56
gz解壓縮命令 瀏覽:656
金工實習數控車床編程 瀏覽:116
美團上的伺服器是什麼意思 瀏覽:624
谷歌在英國倫敦的程序員的工資 瀏覽:690
windows系統的雲伺服器 瀏覽:376
foxitpdfeditor水印 瀏覽:504
phpsocket郵件 瀏覽:264
jsp小區物業管理系統源碼 瀏覽:480
列印機怎麼掃描pdf 瀏覽:280
電子表格如何加密解密 瀏覽:664
我的世界國際服怎麼創伺服器低延遲 瀏覽:632
建設銀行app怎麼知道自己是幾類卡 瀏覽:309
安卓手機怎麼設置到時間睡覺提醒 瀏覽:540
如何加密一個人微信聊天 瀏覽:180
374的源碼 瀏覽:362