当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql中的数据编码

MYSQL
MySQL 5.0默认100连接数的修改
如何使用"MySQL-Proxy"实现读写分离
phpMyAdmin下载、安装和使用入门
安装phpMyAdmin数据库管理软件
关于Mysql数据库导致CPU很高的问题解决
Mysql数据库的导入导出 和 Liunx的权限
MySQL InnoDB存储引擎的一些参数
MySQL InnoDB存储引擎的事务隔离级别
MySQL中InnoDB和MyISAM类型的差别
如何在.NET中访问MySQL数据库
关于 mysql5 改密码后不能登录问题的解答
初学者必读 MySQL 数据库常见问题汇总
MySQL字符集:怎样才能保证不发生乱码
详细讲解优化MySQL数据库性能的十个参数
教你使用MySQL触发器自动更新memcache
SQL存储过程和触发不能使用USE的应对方法
MySQL怎样处理一个溢出的磁盘
MySQL出错代码含义列表解释一表通
服务器安装MySQL教程及注意事项
完美解决mysql中文乱码的问题

MYSQL 中的 mysql中的数据编码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 71 ::
收藏到网摘: n/a

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的了。