正在进行奇怪的字符编码.我正在使用JSP(JSTL)和Struts与Tomat 6.
我有我的JSP页面编码:
问题是当我尝试使用encodeURI传递url时:
$('#mailer_filter').change(function(){
var val = $(this).val();
console.log(val);
console.log(escape(val));
console.log(encodeURI(val));
location.href = 'mailList.a?' + encodeURI($(this).val());
});
action(java end)上的参数如下:
Gaz Métro
但是在前端它显示为:
Gaz Métro
这是正确的方法.我能做些什么?
解决方法:
做以下
1)HTML代码
2)IE的浏览器设置
视图 – 编码 – Unicode(UTF-8)
3)Tomcat服务器
server.xml – 在Connector标签中添加了“URIEncoding”属性为
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
catalina.sh/catalina.bat – 添加以下内容
set JAVA_OPTS=--Xms256m -Xmx1024m -Xss268k -server -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -Djava.awt.headless=true -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8
set CATALINA_OPTS=-Dfile.encoding="UTF-8"
4)MIME类型的响应应该是“application / x-www-form-urlencoded”
标签:java,tomcat,jsp,jstl,tomcat6
来源: https://codeday.me/bug/20190926/1822161.html