请问高手为什么用JAVA的HTTP递交给JAVAServelet的时候,中文变成乱码了,急教!!!!!!!

garping 2007-09-19 02:23:09
为什么用JAVA的HTTP递交给JAVAServelet生成JSP页面的时候,中文变成乱码了,请提供详细方法或源代码,谢谢!!!!!!
...全文
187 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
garping 2007-09-19
  • 打赏
  • 举报
回复
在JSP SCRIPT中
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.responseXML.getElementsByTagName("DISC_ID")[i].firstChild.data);

得到的中文数据是乱码
yilinhust 2007-09-19
  • 打赏
  • 举报
回复
凡是涉及到编码问题的地方,都将编码设置为UTF-8或GBK、GB2312
yilinhust 2007-09-19
  • 打赏
  • 举报
回复
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<% response.setContentType("text/html;charset=UTF-8"); %>
<% response.setCharacterEncoding("UTF-8"); %>


让JSP编译器能正确地解码我们的含有中文字符的JSP文件
<%@ page pageEncoding="UTF-8"%>


JSP向客户端输出
<%@ page contentType="text/html;charset=UTF-8" %>


让JSP能正确获得传入的参数
<% request.setCharacterEncoding("UTF-8"); %>



浏览器默认使用 UTF-8 的编码方式发送请求

1、Eclipse

2、MyEclipse

3、JSP

<%@ page contentType="text/html;charset=UTF-8" %>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>

4、超连接访问

String language = request.getParameter("language");
language = new String(language.getBytes("ISO-8859-1"),"UTF-8");


5、Servlet

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

6、AJAX

response.setContentType("text/xml;charset=UTF-8");

guorujian 2007-09-19
  • 打赏
  • 举报
回复
可能是因为你的浏览器编码是gbk或者gb2312,通过Http递交需要经过编码转换!
new String(str.getBytes("gb2312"),"ISO8859-1")
试试,如果不行,就等高手吧!
风吹大了 2007-09-19
  • 打赏
  • 举报
回复
在SERVLET里设置一个ContentTpye="text/html;charset=gb2312";试试

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧