java mysql 字符集_jsp-java-mysql字符集统一

1、在jsp中,字符集由来指定,如果处理中文,需指定为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三者之间的编码方式必须统一,不能错误的转换或者不转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值