中文参数传递问题,在线等。

xyzguan 2006-10-11 04:32:16
对于test.jsp
我用 http://localhost:8080/test.jsp?info=中国
和 http://localhost:8080/test.jsp?info=%D6%D0%B9%FA
访问,在页面上打印的都是乱码,英文可以正常显示,
请问我的代码如何改改,能让他们正常显示呢?


test.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page contentType="text/html; charset=GBK" %>
<title>My JSP 'test.jsp' starting page</title>
</head>

<body>

<script language=javascript>

<%
String temp = request.getParameter("info");
%>
document.write('<%=temp%>');
</script>


</body>
</html>
...全文
196 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
willishz 2006-10-11
  • 打赏
  • 举报
回复
一个一劳永逸的方法就是更改Tomcat\conf\server.xml
找到 server.xml 中的
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
最后面加上:URIEncoding='GBK'
不过我没有试过,楼主试试!
binligen 2006-10-11
  • 打赏
  • 举报
回复
mark
iboy1983 2006-10-11
  • 打赏
  • 举报
回复
public static String parseChinese(String in){
String s = null;
byte temp[];

if (in == null) {
System.out.println("Warn:Chinese null founded!");
return new String("");
}
try {
temp = in.getBytes("iso-8859-1");
s = new String(temp);
}
catch (Exception Ex) {
System.out.println(Ex.toString());
}
return s;
}

=================================================================
写这么个方法好了,以后要取中文值只要调用这个方法就行了
neptune0229 2006-10-11
  • 打赏
  • 举报
回复
info=后面的不是你自己写的吧???
xyzguan 2006-10-11
  • 打赏
  • 举报
回复
加上了,还是不行
http://localhost:8080/test.jsp?info=%D6%D0%CE%C4
显示????
http://localhost:8080/test.jsp?info=中国
显示???ú
iboy1983 2006-10-11
  • 打赏
  • 举报
回复
楼上正解
neptune0229 2006-10-11
  • 打赏
  • 举报
回复
取值之前加上request.setCharacterEncoding("gbk");

81,092

社区成员

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

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