日期:2014-05-18  浏览次数:20688 次

我在Mysql中直接操作插入中文数据没问题,编码我都设为GBK,网页也用的gbk,可从网页提交插入中文数据总是乱码(显示????),英文、数字没
我在Mysql中直接操作插入中文数据没问题,编码我都设为GBK,网页也用的gbk,可从网页提交插入中文数据总是乱码(显示????),英文、数字没事.有谁遇到过这样的问题吗?怎么样解决这样的问题。

------解决方案--------------------
去网上搜搜把,一堆解决办法!
------解决方案--------------------
试一试全部用UTF-8吧
还不行 只能转码了,出现问题的地方 可能有很多
------解决方案--------------------
将数据库设置为UTF-8

Connection con=DriverManager.getConnection( "jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=UTF-8 ", "root ", " ");
------解决方案--------------------
是应该全部都为UTF-8
------解决方案--------------------
数据库无所谓编码的,你写入数据库时候把gbk转为数据库默认的编码例如iso8859-1就可以了。取出来後再转为gbk
------解决方案--------------------
需要进行编码的:
插入数据库需要new String(content.getBytes( "gbk "), "iso-8859-1 ")编码
从数据库中读出需要使用new String(content.getBytes( "iso-8859-1 "), "gbk ")解码

------解决方案--------------------
把页面和数据库的编码设置成一样的!(UTF-8)然后在读数据的时候 按liuyunfeng01() 说的
转换一下就OK了!
------解决方案--------------------
可能从表单传递过程中,编码没有设置正确,使用编码过滤器,
如果你的编码统一,绝对是没有问题的,即使我存取了韩文存到GB2312的表中,读取时只要按照韩文编码显示就没有问题,我的意思是说,数据库系统可以屏蔽掉,只要你存什么格式,读取就用什么格式就没事了,要注意的是数值在传输中的处理,你说你的“网页也用的gbk”,你能确保它传输使用GBK编码吗?
------解决方案--------------------
首先,在MySQL启动项即my.ini文件中指定字符集为gbk,然后在建立数据库和表的时候也要指定字符集为gbk,最后在URL中写入jdbc:mysql://localhost/databasename?useUnicode=true&characterEncoding=gbk,保证字符集从头到尾都一致!否则就会出现乱码!