mysql中的数据编码

愿成你影

愿成你影

2016-01-29 14:58

mysql中的数据编码,mysql中的数据编码
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 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

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。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

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

展开更多 50%)
分享

猜你喜欢

mysql中的数据编码

MySQL mysql数据库
mysql中的数据编码

Mysql入门系列:对MYSQL查询中有疑问的数据进行编码

编程语言 网络编程
Mysql入门系列:对MYSQL查询中有疑问的数据进行编码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

把mysql中的乱码变成正常的编码

MySQL mysql数据库
把mysql中的乱码变成正常的编码

mysql 编码设置命令

编程语言 网络编程
mysql 编码设置命令

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL 编码机制

编程语言 网络编程
MySQL 编码机制

修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)

Web开发
修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Access数据库技术(43)

Access数据库技术(43)

不用GD库生成当前时间的PNG格式图象的程序

不用GD库生成当前时间的PNG格式图象的程序
下拉加载更多内容 ↓