jsp mysql utf8中文乱码问题
我在安装mysql5.2时设置编码方式为utf8,然后我用insert into admin values ( '大大 ', 'dada ', 'a ');命令添加一条记录时提示:error 1366 (HY000):Incorrect string value: '\xB4\xF3\xB4\xF3 ' for column 'user_name ' at row 1
意思是说我为user_name字段提供的字符串值不对,但是如果添加英文字符串值就没问题。user_name是varchar(20)类型的。
如果我通过jsp页面向数据库中添加同样的一条含有中文字符的记录,就可以添加进去,但是在mysql命令行中用select * from admin;命令查看的话显示乱码。我的jsp页面也是utf8的。
请问这是怎么回事?如何能直接在mysql中添加中文记录,并且不显示乱码?请大家帮帮我……
------解决方案--------------------修改mysql的配置文件my.ini,将字符集设置为gb2312.再修改页面编码为gb2312.
我用的是中文字符集,所以没什么问题。
我暂时只想到这种方法。
------解决方案--------------------这个问题我整了2天,刚解决,最后是这样解决的:my.ini里修改字符集为gbk,两个地方都要修改。
然后重新启动数据库,这时候数据库原有的数据会变乱码。
建立数据库的时候这样,
CREATE DATABASE dbname
CHARACTER SET 'gbk '
COLLATE 'gbk_chinese_ci ';
jsp里写入和查询都不需要转码,直接用就好了。能直接中文写入和查询出来。
------解决方案--------------------哦,连接池还是需要这样写的 DbUrl= "jdbc:mysql://localhost:3306/dbname?useUnlcode=ture&characterEncoding=gbk ";