ssh整合系列博客——(4)乱码问题解决
来源:互联网 发布:网络代售许可证 编辑:程序博客网 时间:2024/06/05 17:21
我相信,在ssh整合的时候,大多数程序员都会遇到一个蛋疼的问题——乱码,无论是在获取客户端提交的数据,在jsp间跳转或是在数据库存储查询时等等......,多多少少都会遇到乱码的问题,今天,就乱码的问题来总结一下常用的解决方案。
以前,在servlet + jsp + javabean的年代,人们大多数会自己写一个字符编码的Filter,用来过滤编码,使其所有的编码全部转换为自己定义的编码。
如今,在实际开发ssh项目时,有很少的人自己写字符编码的Filter,因为,spring自带了一个用于过滤编码的Filter,名字叫characterEncodingFilter,若想使用该Filter,只需要在web.xml中配置即可,配置如下:(此过滤器只适用于post,get方式不适用)
<span style="white-space:pre"></span><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 阅读spring的characterEncodingFilter源码你会发现该类中有个encoding成员变量 --!><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value> <!-- 指定你自己想要设置的编码格式 --!></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern> <!-- 地址过滤,将所有的url都过滤到此Fliter --!></filter-mapping>
建议:在整个项目中,把所有的编码都统一设置为utf-8(页面编码,数据库编码,workspace编码等......)
这样配置之后,你就会发现大多数的乱码问题已经顺利的解决啦,读到这里,你会疑问,为什么是大多数的乱码解决了,那就是说还有其他的地方还可能存在乱码???
对,你的疑问没有错,post方式的乱码解决了,但是还有一种是get方式产生的乱码,比如:在jsp页面间传递参数等......
在jsp页面间最常用的传递参数的方法就是尾部传参,如:xxxjsp?username="张三"&&password="123"
那么,此种传递参数的方式为get,在获取尾部参数的jsp页面,你会发现获取到的username的值为乱码。
解决办法如下:
new String(request.getParameter("username").getBytes("iso8859-1"),"utf-8")该语句的意思为:将获取的数据从iso8859-1编码转为utf-8编码。
总结:
1.post方式采用spring自带的字符编码Filter
2.jsp页面间的尾部传参是get方式,采用getBytes方法转换编码
0 0
- ssh整合系列博客——(4)乱码问题解决
- ssh整合系列博客——(1)spring和hibernate整合的异常解决
- ssh整合系列博客——(2)spring和hibernate整合的异常解决
- ssh整合系列博客——(3)在jsp中如何使用spring管理的bean
- SSH整合和struts2表单提交乱码问题解决办法
- SSH学习系列篇——整合步骤+原理
- SSH系列-数据库乱码
- xshell下ssh乱码问题解决
- ssh ubuntu 乱码问题解决方法
- SSH+mysql整合乱码问题
- 【01】SSH练习——整合SSH
- SSH整合——ssh流程图
- SSH整合——OpenSessionInViewFilter
- SSH—Struts2整合Spring
- SecureCRT SSH登录Linux乱码问题解决方案
- putty ssh登录,vim乱码问题解决
- SSH Secure Shell Client中文乱码问题解决
- SSH整合之中文乱码问题
- 现在做网站!只要一个域名就搞定了
- 数据库隔离级别
- C语言的学习
- hdu 1175 连连看
- AVAudioRecorder录音和AVAudioPlayer播放声音小的问题!
- ssh整合系列博客——(4)乱码问题解决
- hdu1286找新朋友
- HDOJ 题目4497 GCD and LCM (组合数学,gcd性质)
- SonarQube代码质量管理平台安装与使用
- 读取网友代码
- 线程的生命周期和状态控制
- 分页最佳解决方案 from skyform brother fa
- Centos7安装Virtualbox
- Python 字符串的内置方法及注释