jsp中url傳參中文引數在字符集轉換後仍然有部分字元為問號的情況解決。
阿新 • • 發佈:2019-02-15
問題:
<a class="a_ope" href="HitInfoQueryServlet?query_type=detail&music_singer=海明威">詳細</a>通過點選連線通過url傳遞中文引數
在HitInfoQueryServlet中隊url的中文引數進行大多數人建議的字符集轉換
程式碼如下:new String(singer.toString().trim().getBytes("iso8859-1"),"utf-8") tomcat預設字元為iso8859-1
但是發現轉換後中文字串變為“海明?”的格式,中文引數還是出現問題。
解決:
把原來的連線改成<a class="a_ope" href="HitInfoQueryServlet?query_type=detail&music_singer=<%=URLEncoder.encode("海明威","utf-8") %>">詳細</a> 然後servlet中的程式碼不變,仍然進行字符集轉換即可
當然在此例下前提條件為:
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
如果要換成其他字符集 直接把utf-8 替換稱自己所需的字符集即可