MySQL字符集:保证不发生乱码的方法

日期: 2008-08-17 作者:Egbert 来源:TechTarget中国 英文

  数据库中关于字符集的种类有很多,对编程有影响的主要是客户端字符集和数据库字符集(还有一个服务器字符集,不知道干什么用的)。


  数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和数据库字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端字符集一致即可。


  客户端字符集的设置,依据客户端不同方法不同:


  1. 使用控制台连接,在my.ini文件中的client项里面设置;


  2. 使用ems连接,优先使用ems连接配置的字符集,默认使用my.ini文件中的设置;


  3. jdbc连接,在连接串中指定:







jdbc:mysql://192.168.3.99:3306/test?useUnicode=true& ;characterEncoding=gbk 



  在写入时Mysq会将客户端指定的字符集转换成数据库字符集存入数据文件,读取时又将数据库字符集转换成客户端指定的字符集展示给客户端,把客户端字符集和数据库字符设置一致,显而易见的好处是免掉转换的性能损耗;另外,如果考虑到以后数据库的迁移,将数据库字符集设置为大多数数据库都支持的字符集会省掉很大麻烦。


  几个字符集相关的命令:


  1. 查看 MySQL 数据库服务器字符集,数据库字符集和客户端字符集


  show variables like ’%char%’;


  character_set_client,客户端字符集


  character_set_database,数据库字符集


  character_set_server,服务器字符集


  2. 查看 MySQL 数据表(table) 的字符集


  show table status from tablename like ’%countries%’;


  3. 查看 MySQL 数据列(column)的字符集。


  show full columns from tablename;


  4. 查看当前安装的 MySQL 所支持的字符集。


  show char set;

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Egbert
Egbert

相关推荐