struts开发中文乱码问题总结
2015-09-17 15:28
519 查看
中文乱码问题一直是程序员最讨厌的问题。我这里分享了几个我在struts框架开发过程中,用JQuery+Ajax传参时的乱码问题和操作数据库时的乱码问题。
Ajax用get方式传参都会出现乱码。
解决办法:建议大家都用post方式请求,也是一个编程的好习惯。
结果返回乱码。在action处理时打印都是正确的,返回Ajax显示出来就乱码了,
解决办法:在处理类执行前都把response设置编码,response.setCharacterEncoding("utf-8");这也是一个编程的好习惯,可以把这段代码写在过滤器里,把所有的请求都过滤一遍就不会出现这种问题了。
最最恼火了一种,struts自动写入参数就乱码了。原因是因为我们把参数写在了url后面,
解决办法:Ajax中添加data:“arg1=参数&arg2=参数2”,把参数写在data中就不会出现乱码问题。
但是呢,有些时候,我们只能在url里面传递参数的情况怎么办。
url传参乱码(struts开发时)
解决办法:在传递参数前,先在js中把参数进行两层编码arg1 = encodeURI(encodeURI(arg1));然后在action处理类中,需要对该参数进行两层解码:arg1=URLDecoder.decode(arg1,"utf-8");这样就能解决struts用url传参乱码问题。
操作数据库时乱码。所有过程都没有问题,action也成功取到了参数的值,但是在操作数据库的时候就乱码了,这是tomcat环境配置的问题
解决办法:在tomcat开发环境-找到conf文件夹-找到server.xml文件,找到“Connector port="8080" “ 这一栏,在末尾添加URIEncoding=“UTF-8”,像这样<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
中文乱码问题一直是程序员最讨厌的问题。我这里分享了几个我在struts框架开发过程中,用JQuery+Ajax传参时的乱码问题和操作数据库时的乱码问题。
Ajax用get方式传参都会出现乱码。
解决办法:建议大家都用post方式请求,也是一个编程的好习惯。
结果返回乱码。在action处理时打印都是正确的,返回Ajax显示出来就乱码了,
解决办法:在处理类执行前都把response设置编码,response.setCharacterEncoding("utf-8");这也是一个编程的好习惯,可以把这段代码写在过滤器里,把所有的请求都过滤一遍就不会出现这种问题了。
最最恼火了一种,struts自动写入参数就乱码了。原因是因为我们把参数写在了url后面,
解决办法:Ajax中添加data:“arg1=参数&arg2=参数2”,把参数写在data中就不会出现乱码问题。
但是呢,有些时候,我们只能在url里面传递参数的情况怎么办。
url传参乱码(struts开发时)
解决办法:在传递参数前,先在js中把参数进行两层编码arg1 = encodeURI(encodeURI(arg1));然后在action处理类中,需要对该参数进行两层解码:arg1=URLDecoder.decode(arg1,"utf-8");这样就能解决struts用url传参乱码问题。
操作数据库时乱码。所有过程都没有问题,action也成功取到了参数的值,但是在操作数据库的时候就乱码了,这是tomcat环境配置的问题
解决办法:在tomcat开发环境-找到conf文件夹-找到server.xml文件,找到“Connector port="8080" “ 这一栏,在末尾添加URIEncoding=“UTF-8”,像这样<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
相关文章推荐
- dom4j解析xml的三种方式java代码
- Spring与Quartz的整合实现定时任务调度
- How does Spring know that ThrowsAdvice.afterThrowing needs to be called?
- Java总结篇系列:Java泛型
- spring 注入参数
- Spring mvc整合hibernate例子(带源码)
- Struts 2 ActionError & ActionMessage Example
- struts2:Action、interceptor继承的基类和获得作用域的方式
- Java利用Zxing生成二维码
- elasticsearch 报出 Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_3_6
- Java中的代码块(静态代码块、构造代码块、局部代码块)
- struts2的执行原理
- java基础(1)-比较jdk5,jdk6,jdk7的新特性
- java.sql.SQLException: 无效的列索引
- 韩顺平 java 第三讲、第四讲 运算符 流程控制
- Myeclipse基本使用方法
- idea 14.1.4注册码破解java代码
- [java] package命名规范
- Java编程中为了性能优化应做到的26件事
- springmvc中解决406问题