jsp字符乱码的处理

来源:互联网 发布:centos下php环境搭建 编辑:程序博客网 时间:2024/04/30 15:51
字符编码一直困扰着程序员,小生为了千千万万jsp新手尽快脱离编码问题的苦海,小小的研究了下jsp下关于编码文件的配置,不敢独享,分享给大家。。。。
jsp字符编码有以下问题。。。


1,页面编码的设置问题可能导致页面设计的时候不能出现中文,这是一种静态的编码行为,这时候应该将pageEncoding的值改为UTF-8, jsp默认将其设置为ISO-8859-1,但是ISO-8859-1不支持中文,所以一般要将其更改UTF-8。


2,charset    JSP中有这样的标签<%@page text="text/html" charset="ISO-8859-1"%> 是用来设置如果是另外一个页面转到此页面的时候,此页面显示的编码方式,这是一种动态编码行为,解决方式是将charset改为UTF-8;


3,页面的重定向问题,如果页面需要传递表单form,由于jsp传递表单的编码默认为ISO-8859-1,例如String str=request.getParameter("xxx");得到str的值时会显示乱码,此时的解决方式是:在你的目标页面中加上一句代码<% request.setCharacterEncoding("UTF-8") %>;或者是str=new String(str.getBytes("ISO-8859-1"),"UTF-8");


4,存入数据库中出现乱码,这时候只需要将数据库的编码方式改成UTF-8即可,在以MYSQL为例,在Mysql路径下的my.ini配置文件,将其默认的编码方式改为
default-character-set=UTF-8 就可以了。


5,服务器传送的时候可能出现乱码,以Tomcat为例,打开在conf目录下的server文件,编码方式修改为<?xml version='1.0' encoding='utf-8'?>,并且在<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />中添加 URIEncoding="UTF-8" 应该就没什么问题了。




对付编码的终极解决办法就是,选择一种能够显示中文的编码,然后将jsp经过的应用程序中的编码方式全部统一。


如果还有言之未及的地方,还请各位在回复中补充,谢谢。。。。。










原创粉丝点击