前言
Java中URL傳中文時亂碼的問題相信不少朋友都遇到過,最近就遇到一個問題,就是在Action當中把一條中文信息綁定在URL的后面,ActionForward到別一個頁面時,用reqeust.getParameter
取出是出現亂碼的問題。
解決辦法
1、對要進行URL傳遞的中文字符進行編碼:
1
|
String message = java.net.URLEncoder.encode( "中文字符" , "utf-8" ); |
2、在取URL傳遞中文的頁面對字符進行解碼:
1
2
|
String msg = request.getParameter( "message" ); String str= new String(msg.getBytes( "ISO-8859-1" ), "UTF-8" ); |
注意:
1、這里得出的str就是先前傳入的”中文字符”。
2、為什么要對取出的字符集形式轉換成UTF-8形式,是因為ISO-8859-1是Java中網絡傳輸使用的標準字符集,request.getParameter(“message”);
得到的還是ISO-8859-1字符集,所以要轉換一下。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。