阅读新闻

mysql中的数据编码

[日期:2006-04-28] 来源:  作者:未知 [字体: ]

mysql 4.1版本后,对编码的支持大大加强,这是它自己的说法:

MySQL 4.1 can do these things for you:

Store strings using a variety of character sets

Compare strings using a variety of collations

Mix strings with different character sets or collations in the same server, the same database, or even the same table

Allow specification of character set and collation at any level

In these respects, not only is MySQL 4.1 far more flexible than MySQL 4.0, it also is far ahead of other DBMSs

见:http://dev.mysql.com/doc/mysql/en/charset-general.html

 

1 character set和collation的区别

character set表示字符集,也就是字符(character)和对应的编码(encoding)合称为character set.

collation是字符间比较的方法,比如binaray, case sensitive, case insensitive。

2 character set, collation的设置

可以通过show variables like "%char"; show variables like "%collation%"分别查看当前的设置情况。

在my.cnf文件中,可以使用:

character-set-server=utf8

collation-server-utf8

设置缺省server的character set, collation,这两个选项从4.1.3版本开始有效。之前版本的设置方法:

default-character-set=utf8

default-collation=utf8

通过上面的设置后,show variables like "%char%"如下所示:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+


show variables like "%collation%"显示:

+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-------------------+

3 问题

我希望character-set-client, character-set-results,character-set-connection也是utf8, collation-connection也是utf8_general_ci,不知道在my.cnf中如何设置才能做到?

我目前都是先执行set names 'utf8',再作进一步查询。

执行set names 'utf8'后,show variables "%char%", show variables "%collation%"显示所有的变量设置都是utf8的了。



阅读:
录入:醉伤心

评论 】 【 推荐 】 【 打印
上一篇:在服务器上安装、使用MySQL的注意事项
下一篇:
本文评论
  http://www.keruo.com   (999 ,今 07:02 )
  542452   (525432 ,01月01日 )
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
新闻查询