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提交。

首先可以确信的不是页面和XML配置问题,应该是你装MySQL时选定的编码是GBK或其他什么的。导致字符串字符流在传输URL转译是varchar文本存储识别不,mySQL将这些转译不了字符都以“?”处理存储下来的结果;一进入MySQL配置处理器改下编码方式;二或在连接数据库连接URL设置编码类型;

假如说

String

str

=

你得到的中文;

你可以处理一下

str

=

new

String(strgetBytes(),

"utf-8");

或者

str

=

new

String(strgetBytes("iso-8859-1"),

"utf-8");或者

str

=

new

String(strgetBytes(),

"gb2312");或者

你自己写个过滤器

以上就是关于Java Web开发的Servlet乱码问题全部的内容,包括:Java Web开发的Servlet乱码问题、jsp通过servlet 查询 MySQL 数据库的内容出现中文乱码求助、servlet通过表单方式获取jsp页面的中文字符为乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9824641.html

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

发表评论

登录后才能评论

评论列表(0条)

保存