继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

解决Mysql字符编码问题

largeQ
关注TA
已关注
手记 981
粉丝 92
获赞 585


对于大家熟知的mysql数据库,是不是中文字符编码的问题一直困绕着你?

本文以mysql5.5举例,安装方法在此虑过,只说一点:为了程序顺利插入数据到数据库而不出现字符问题,一般都设置mysql编码为utf8编码。然而在命令行模式往往会出现字符编码问题:

1)如在命令行模式下,直接插入中文,插入失败(如图一)

图一(不正确的字符串值)

 

2)用程序(如Java)插入数据成功,使用navicate工具显示是中文,即便是mysql Workbench工具查询依然是中文(如图二),在命令行模式查询的结果却显示是乱码(如图三)

 

图二(显示中文)

 

图三(有数据,却显示乱码)

 

关于解决方法参看以下链接:

 “花飞蝴蝶” 博客,http://jinyabo.blog.51cto.com/3411101/1186030

 

但是有一个问题,如图四

声明:因为已经进入,所以无需再次进行验证

图四(设置失败)

 

这时候,只好到my.ini文件查看,关键看两处(如图五)

(1)default-character-set=utf8

(默认编码设置,一般应与操作系统编码一致)

(修改成default-character-set=gbk)(gb18030不行)

(2)character-set-server=utf8(服务端编码设置)

(默认不需要改,但如果不是utf8,建议改成utf8)

图五(编码)

 

然后再次进入命令行模式,执行查询(如图六)

图六(查询成功)

 

心得:可以把default-character-set理解成客户端,character-set-server理解成服务端。客户端与服务端编码一致当然是最佳拍档!总之要多观察,多研究配置文件。这类问题不一定每次都见到,而一旦出现,便是让人很挠头。比如我之前每次都是utf8安装,用了三年,中文字符插入也没问题,唯独这次,换成64位操作系统后,出现了这个问题。问题出现,可以google,可以百度,然而不一定是你想要的答案,那就自己研究吧,肯定可以解决!

 

感谢:花飞蝴蝶的《关于MySQL数据库乱码的问题总结》文章

©著作权归作者所有:来自51CTO博客作者fylx的原创作品,如需转载,请注明出处,否则将追究法律责任

mysql数据库utf8中文字符MySQL


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP