选择java 进入自由开放的国度

随笔 - 49, 文章 - 3, 评论 - 154, 引用 - 1
数据加载中……

jsp-java-mysql字符集统一

1、在jsp中,字符集由<%@ page language="java" contentType="text/html;charset=GBK"%>来指定,如果处理中文,需指定为gbk。所以提交的数据全部都使用gbk编码;
2、在java中,从jsp提交过来的数据是gbk编码的,而java默认的处理方式是使用ISO-8859-1编码,所以若在java中能显示jsp提交过来的gbk编码方式的数据,就要进行一个转换:将gbk转换为ISO-8859-1,这样数据就可正常显示。
3、如果要将jsp提交的数据经过java后台处理,然后放入数据库中,就又多了一个数据编码方式:数据库的数据编码方式。以mysql为例,默认字符集为latin,所以若将gbk的数据放入,必然出现乱码,所以首先应改变数据库的编码方式为gbk。

综上,简单的设置方法如下:

jsp (gbk)     ---->     java(ISO-8859-1)  -------> mysql(gbk)
                                                                转换
这样设置之后,还有一种情况会出现乱码:当你在jsp端提交一个id号,然后在java处理端通过id号得到数据库中的gbk(汉字)数据,这是就会出现乱码,因为java处理的是ISO-8859-1,你在java到mysql中有了一个ISO-8859-1到gbk的转换,而这些数据本身就是ISO-8859-1,所以转换后就出现问题了。
解决办法:将在java中处理的gbk数据转换为ISO-8859-1即可。

总之:在jsp,java,mysql三者之间的编码方式必须统一,不能错误的转换或者不转换。

posted on 2006-11-03 09:03 soochow_hhb 以java论成败 以架构论英雄 阅读(1587) 评论(0)  编辑  收藏 所属分类: Struts


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问