java代码设置tomcat编码_如何在Tomcat中设置请求编码?

我的Java Web应用程序有问题。

这是index.jsp中的代码:

/p>

"http://www.w3.org/TR/html4/loose.dtd">

response.setCharacterEncoding("UTF-8");

%>

JSP Page

Hello World!

Res:

当我有线请求时,我的浏览器发送以下标头:

GET /kjd/index.jsp?q=%C3%A9 HTTP/1.1\r\n

...

Accept-Charset: UTF-8,*\r\n

Tomcat服务器返回以下信息:

Content-Type: text/html;charset=UTF-8\r\n

但是,如果我以我的形式发送“é”(UTF-8中的%C3%A9),则会显示“é”。

我了解的是浏览器发送了一个用UTF-8(%C3%A9)编码的“é”。

但是服务器将其解释为ISO-8859-1。因此,%C3解码为Ã,%A9解码为©,然后发送回以UTF-8编码的响应。

在代码中,应使用UTF-8解码请求:

request.setCharacterEncoding("UTF-8");

但是,如果我发送此网址:

http://localhost:8080/kjd/index.jsp?q=%E9

ISO-8859-1将“%E9”解码,并显示“é”。

为什么这不起作用?为什么用ISO-8859-1解码请求?

我已经在Tomcat 6和7以及Windows和Ubuntu上尝试过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值