项目中乱码问题 超链接传中文问题
在项目中超链接传值有的很多,有时候遇到传中文也是避免不了的。
但是往往到了action中就成了乱码。不管是配拦截器还是struts的filter还是自定义的filter还是解决不了这个问题。
同样我也遇到了这种问题,在经过上百度上Google以及和群里朋友聊天,终于找到了解决办法:
首先:
我们要确定项目的编码格式是GBK或者是GB2312的,因为浏览器默认的编码格式是GB2312的。
怎么来确定项目的编码格式呢?
解决办法:
1。找到tomcat的server.xml文件 并找到 里面的 <Connector>项 在里面加一个URIEncoding=“GBK”或者是GB2312、UTF-8 这样项目的编码格式就改过来了。
2。在jsp页面中 找到传值的地方,也就是要跳到action的地方。
例如:<a target="_blank" href="/sort.ecs?bigId=<%=big.getCpBigId() %>&bigName=<%=URLEncoder.encode(big.getCpBigName()) %>">这是我页面中的代码
也就是说把要传到action中的值进行加密,<%=URLEncoder.encode(要加密的中文字符) %>
记得别忘了导包进来<%@page import="java.net.URLEncoder"%>
这样应该就能解决传到action中的值是乱码的问题了。