request.getAttribute("name"); 为什么得到乱码?

发布网友 发布时间:2022-04-22 20:45

我来回答

5个回答

热心网友 时间:2022-07-15 05:49

原因:浏览器默认使用UTF

-8编码方式来发送请求,而UTF- 8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。

解决办法: index页面out.print(request.getAttribute("name"))前加上
request.seCharacterEncoding("gb2312");
这段话

祝好运追问谢谢, 没用.
另外: 是request.setCharacterEncoding("gb2312");而不是request.seCharacterEncoding("gb2312"); 可能您敲的快, 手误.

热心网友 时间:2022-07-15 05:49

页面和后台都加入 编码方式 (要一样)

热心网友 时间:2022-07-15 05:50

先把字符转换编码方式然后在存放吧

热心网友 时间:2022-07-15 05:51

你action中把name放进去之前,怎么不先指定编码格式呢?另外你的index页面也需要加上编码格式追问1. 这是index.jsp:

2. 我说过有过滤器了, 所以在把name放进去之前,不用再指定编码格式, 另外我就是指定了, 也还是乱码, 已经试过.

追答web.xml中加入jsp编码设定

jsp encoding example
JSPConfiguration
*.jsp
true
GBK
false

html encoding example
JSPConfiguration
*.htm
true
GBK
false

热心网友 时间:2022-07-15 05:51

你另一个jsp页面设置了编码吗?追问

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com