Java Web开发的Servlet乱码问题

Java Web开发的Servlet乱码问题,第1张

首先说,你修改那两个文件的编码,没有任何作用。

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表单提交的数据乱码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9718917.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存