
首先说,你修改那两个文件的编码,没有任何作用。
j2ee项目中出现乱码的原因是:
然后web服务器对你的参数进行了解码。
如果浏览器的编码,和web服务的解码,应用了相同编码的话,就不会用乱码。否则一定乱码。
解决方案:
因为,浏览器的编码未知,服务器的编码未知,所以只能尝试。
String name = requestgetParameter("name");//获取浏览器提交的name参数
name = new String(namegetBytes("encode1"), "encode2");
encode1:指的是web服务器的编码,encode2:指浏览器所在 *** 作系统的编码。
1、项目统一采用utf-8编码
2、用javascript对页面中得参数进行编码。(因为不同浏览器编码可能不同)
encodeURI();
3、服务器端,用相同的编码方法进行解码。推荐过滤器,requestsetCharacterEncoding("UTF-8");
4、尽量使用post提交。
你的ID属性是不是可以输入中文的?如果是,则需要在接收参数之前设置字符编码,requestsetCharacterEncoding("gbk");,还有一个responsesetContentType("text/html;charset=gbk");这样就行了,在开发中千万不要用这句:responsesetCharacterEncoding("utf-8");
在代码中设置转码:
>
responsesetContentType("text/html;charset=UTF-8;pageEncoding=UTF-8");\x0d\这个要在servlet的方法中的第一行,你先进行response的转换就可以了,改成\x0d\responsesetContentType("text/html;charset=UTF-8;pageEncoding=UTF-8");//放到这\x0d\PrintWriter out=responsegetWriter();\x0d\//从这里\x0d\responsesetCharacterEncoding("UTF-8");\x0d\outprintln("");\x0d\outprintln("");\x0d\outprintln("Simple servlet");\x0d\outprintln("中国");\x0d\outprintln(" ");
中文乱码解决方案
step1: 在html文件中,添加 <meta >
以上就是关于Java Web开发的Servlet乱码问题全部的内容,包括:Java Web开发的Servlet乱码问题、servlet中文乱码、初学servlet获取从html表单提交的数据乱码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)