请问如何解决?
jsp的接收页面,页面编码是utf-8,<%@ page contentType="text/html; charset=utf-8" language="java"%>
request也是request.setCharacterEncoding("UTF-8");
但是出来就是乱码,用ISO-8859-1转换一下也是乱码,请问如何解决?
jsp的接收页面,页面编码是utf-8,<%@ page contentType="text/html; charset=utf-8" language="java"%>
request也是request.setCharacterEncoding("UTF-8");
但是出来就是乱码,用ISO-8859-1转换一下也是乱码,请问如何解决?
String s = request.getParameter("name");
s = new String(s.getBytes("iso8859_1"),"utf-8");
out.print(s);传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。另外如果是post,用过滤器最好。
<a href="jsp2.jsp?name=<%=java.net.URLEncoder.encode("汉字","utf-8")%>">jsp2</a>
String s = request.getParameter("name");
s = new String(s.getBytes("iso8859_1"),"utf-8");
out.print(s);传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。另外如果是post,用过滤器最好。===================================================
想不通啊,我用两个页面分别输入上面两段,可以显示汉字.
但是我在两个页面前面加上
<%@ page contentType="text/html; charset=utf-8" language="java" %>
不管在哪个加,或者是两个一起加,都会乱码,而且乱码还不一样.
为什么啊?
http://www.regexlab.com/zh/encoding.htm#getp解决办法:
提交数据的页面也要求是 utf-8 编码,如果你是 tomcat 4, 那么,你既可以用 GET 方式也可以用 POST 方式。如果你是 tomcat 5,那么 tomcat 5 有bug,你只能是 POST 方式。
就用下面的方法
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding=”GBK”完整的应如下:<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="GBK"/>2)重启tomcat,
不过,为了符合国际化
我全部采用了<BEAN:MESSAGE>的方式
从资源文件里面读现在全部正常无论要改成那个语种只需要更改资源文件中KEY对应的值就行了
将应用服务器的配置文件字符集改成GBK或设置一个过滤器filterSetCharacterEncodingFilter