随笔 - 4  文章 - 10  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

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 2007-08-17 16:31 冬天出走的猪 阅读(433) 评论(0)  编辑  收藏 所属分类: JAVA知识

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


网站导航: