用struts2很长时间了,一直没有出现过中文问题,昨天做个web小测试程序的时候表单提交在action中打印的中文都是乱码,真是搞不懂,我知道struts2出现中文乱码无非就是三个问题:页面,i18n拦截器设置,数据库都设置成UTF-8就行了,昨天检查了几遍都好着呢,action还是乱码。最后把form表单的method="get"改成了method="post"就不是乱码了,这是为什么呢?get和post在参数处理机制上还有什么区别呢?谢谢指教!
调试欢乐多
而post请求会把参数附加到请求的body里面
我们一般指定的编码都是针对body的。楼主看一下
页面文件的编码,改一下看看
1、修改应用服务器的编码,和页面保持一致
2、转码,new String(str.getBytes("ISO8859-1"),"utf-8");