问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

tomcat中设置了URIEncoding为utf-8怎么解决get方式的提交乱码问题

发布网友 发布时间:2022-04-24 08:42

我来回答

4个回答

热心网友 时间:2023-10-09 04:33

写个中文过滤的代码,直接贴过去,改下包路径和servlet-name
1. 编写处理字符编码的Filter类:

package yours.package;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class CharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;

public void destroy() {
this.encoding = null;
this.filterConfig = null;
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)throws IOException, ServletException {
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}

public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}

protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}

2.修改WEB-INF/web.xml文件

<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>yours.package.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>

热心网友 时间:2023-10-09 04:33

看看你的页面是不是也是utf-8的格式...如果你页面传送过来的本身就不是utf-8,那再怎么转都是错的..

热心网友 时间:2023-10-09 04:34

servlet里:
request.setCharacterEncoding("utf-8");

热心网友 时间:2023-10-09 04:34

request.setCharacterEncoding("gb18030");试试
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
工会主席权限 魅族坏了怎么办 网上买的魅族手机坏了可以保修吗?自己弄坏的,手机花屏,修要多少钱... 从梁溪路公益路公交站到建筑路夏联福记酒店坐什么公交最方便? 退货保和运费险有什么不同 现代Logo设计趋势是什么 优秀的logo设计有什么特征? 哪些品牌的鱼竿质量好 光威悟法师和达瓦一击哪个好 有人了解大卫地板吗?怎么样呢? 打印蓝图能把A4打印成41的么 tomcat怎么配置才能解决get提交乱码问题 CAD直接打印蓝图需要的尺寸 eclipse 怎么设置tomcat utf-8 jsp乱码问题 jsp页面、mysql、tomcat全部设置为utf-8编码方式。在提交表单后还是出现了乱码问题。 为什么现在的打印店都不晒图了,直接打印的蓝图会变色吗? 怎么设置tomcat的编码格式 打蓝图是什么意思 我想在myeclipse下的tomcat的配置文件中设置URIEncoding=&quot;UTF-8&quot;,不知道在哪里设置啊!求解 Linux和Windows系统的区别有哪些? 云闪付app坐公交车扫二维码对吗? 美白针打一次价格大概多少费用? 为什么我得电脑一直安装不了ie11浏览器,是win7旗舰版的系统,根据提示下载安装一直不成功怎么办 我登录新浪微博后,去看别人的微博(随便看了好多),会被他发现吗?_百度... 哪种海尔冰箱最好 海尔的哪一款冰箱好一点? 海尔冰箱哪款好? 胆囊结石是什么形成的? 为什么有的人会得胆囊结石呢? 什么是肝胆结石? 热敏打印机可以打蓝图吗? 急!急!急!CAD打印成蓝图 我有CAD图纸想打印成蓝图格式的。 但是不知道蓝图格式需要什么样的格式 摄影,用大光圈可以拍些什么? 初学者为什么要学习使用大光圈镜头拍摄? 拍人像很多人喜欢用大光圈,有的人尽量不用大光圈。您怎么看? 怎样用iphone 6s手机拍大光圈照片? 数码相机拍大光圈怎么拍? 华为p40pro大光圈拍照怎么用 用的大光圈站的远的时候拍的照片会模糊吗 为什么光圈大拍人像照片容易“肉”? 美团商家版到店自取哪里复核 耳膜破了多久恢复听力 耳膜坏了怎么办? 耳膜破了会不会很痛? 鼓膜破了会怎样 耳膜破了会聋吗 怎么分辨耳膜破没破? 有锁显卡和无锁显卡的区别 显卡有锁版跟无锁版有什么区别 20年的都是无锁显卡吗