首先说,你修改那两个文件的编码,没有任何作用。
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页面的中文字符为乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)