急呀!!!!!mysql字符集的问题,总是出现乱码!但是换了数据库就可以显示中文了啊!

zdtwyjp 2009-06-08 06:24:40
以前的时候都用的sqlserver2000或者是oracle,但是,这几天我换成mysql就出问题了呀,无论如何都不能向数据库中插入中文,但是可以直接在mysql下面用insert方法插入中文哦!我直接将配置文件中的数据库修改一下,换成oracle就可以正常显示呀,同样的程序!
求各位帮小弟一下嘛,出现这种问题是什么原因呀?
...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
acai9527 2009-06-09
  • 打赏
  • 举报
回复
我现在用的mysql也是乱码,但是它只是在mysql客户端里是乱码, 被页面编码一次就行了.我装mysql选的是UTF-8.
CREATE TABLE `ccc` (
`username` varchar(20) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入一个汉字就报:
ERROR 1406 (22001): Data too long for column 'username' at row 1
accessmanager88 2009-06-09
  • 打赏
  • 举报
回复
我一直使用着1楼和8楼的方法, 而且两者都用。
既8楼指明数据库编码,1楼指明jdbc driver编码。

有的时候,我还会给web.xml配置一个SetCharacterSetFilter。 这个filter到处可以搜到。


-------------------------
细粒度权限管理软件试用版下载
www.metadmin.com
bdceo 2009-06-09
  • 打赏
  • 举报
回复
装完MySql后你在配置服务器的时候有一个字符集的配置,默认的话是拉丁文,
所以你可以重新配置一下你的mysql服务器,相信应该就没有问题了!
zhangkang0808 2009-06-08
  • 打赏
  • 举报
回复
不会mysql啊!
qiheia 2009-06-08
  • 打赏
  • 举报
回复
Mysql一定有一个字符集,可以通过启动时加参数指定,也可以编译时指定,也可以在配置文件里指定。

Mysql服务器字符集,只是做为数据库级的默认值。

创建数据库时,你可以指定字符集,如果没指定,就使用服务器的字符集。同理,创建表时,你可以指定表级的字符集,

如果没指定,使用数据库的字符集做为表的字符集。

创建列时,你可以指定某列的字符集,如果没指定,就使用表的字符集。

通常情况下,您只需设置服务器级的字符集,其它的数据库级,表级,以及列级的字符集,都继承自服务器级字符集。

由于UTF8是最广的字符集,所以,一般情况下,我们设置Mysql服务器级的字符集为UTF8!



jdbc:mysql://192.168.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8
robyjeffding 2009-06-08
  • 打赏
  • 举报
回复
在mysql中输入以后命令即可解决乱码:set names 'gbk(或utf-8)'
sangshusen_1988 2009-06-08
  • 打赏
  • 举报
回复
你mysql的编码是啥子??改成utf8就好啦
  • 打赏
  • 举报
回复
写死好啊
windy731 2009-06-08
  • 打赏
  • 举报
回复
在数据库url中指定编码

jdbc:mysql://192.168.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧