问题描述
jsp页面<a href="main!home.action?colName=politics&colValue=党员">党员资料</a>传到action中 colValue就是乱码 我用了spring自带的乱码过滤器 没用我用的SSH框架 显示层采用struts2 action是用交互属性getter setter方法获取数据除了new String (colValue.getBytes("iso-8859-1"),"utf-8")这个方法和tomcat的server.xml配置文件 其他的有没有 谢谢
解决方案
1、设置jsp的page指令charset=UTF-82、设置jsp页面属性为utf-83、自己写一个中文过滤器,网上很多4、传中文参数时这样写试试"name="+encodeURIComponent(name)5、tomcat配置(不推荐这种做法)
解决方案二:
new String (colValue.getBytes("iso-8859-1"),"utf-8"),不是一定用UTF-8的,要根据你的JSP文件来写的,自己看看
解决方案三:
你不能直接写在 a标签的url上.那样是会有乱码的. 跟ssh环境没关系,就是你需要 get方式发中文的时候 需要转下码 你得用js函数转写码 比如 encodeURI()<script ...> function clickA(){ var url = //获得链接url; urlx = encodeURL(url); 这样应该就行了 js发送urlx 就应该是中文了. jsp得先设置成utf-8的 的和环境编码一致}</..
解决方案四:
1.0 可以考虑下不传汉字 (传 ID 或者 汉字的 base64转码 等)当然也可以考虑下传的时候就转码 encoding2.0 检查下 你的项目 编码是否一致!jsp 、filter....一般情况下 使用的 spring的 filter 都是没问题的! (比较特殊的场合是 不使用 过滤器的 )