java 字串亂碼怎麼解決?
阿新 • • 發佈:2018-11-10
我嘗試了所有的設定編碼的方法:
1.重新給字串編碼再解碼
name = URLEncoder.encode(name, "ISO-8859-1");
name = URLDecoder.decode(name, "UTF-8");
2.設定編碼
name=new String(name.getBytes(),"UTF-8");
3.設定編碼
//利用getBytes將unicode字串轉成UTF-8格式的位元組陣列
String name=request.getParameter("name");
byte[] utf8Bytes = name.getBytes("utf-8");
//然後用utf-8 對這個位元組陣列解碼成新的字串
name = new String(utf8Bytes, "utf-8");
4.在sevlet裡面或者有引數通過頁面跳轉傳遞過來
request.setCharacterEncoding("utf-8");
平時這個問題根本難不住我,關鍵這一次是jsp傳值到嵌有java程式碼的jsp頁面中,比較複雜
我試了上面的方法都沒有用;
最後用了
控制檯第一行顯示吳成貴 (用的是name = new String (name.getBytes("ISO8859-1"),"UTF-8");)
後面的是用了
<% //1.獲得要查詢的手環編號 request.setCharacterEncoding("utf-8"); String name=request.getParameter("name");
雖然別人說用 name = new String (name.getBytes("ISO8859-1"),"UTF-8");是不正規的,但是實用啊!