62.笔记 MySQL学习——字符集相关的系统变量

62.笔记 MySQL学习——字符集相关的系统变量

Mysql有几个系统变量涉及字符集支持的各个方面。

Character_set_system 表示的是用于存储标识符的字符集。

Character_set_server和collation_server表示服务器的默认字符集和排序规则

Character_set_database和collation_database分别表示默认数据库的字符集和排序规则

Character_set_client表示客户端向客户端向服务器发送SQL语句时使用的字符集

Character_set_results表示的是服务器向客户端返回结果时使用的字符集

Character_set_connection是服务器使用的变量。当服务器接收到来自客户端的语句字符串时,会将该字符串从character_set_client转换为character_set_connection,并使用后者的字符集来处理该语句

Character_set_filesystem表示的是文件系统字符集。

查看

mysql> show variables like 'character\_set\_%';

+--------------------------+--------+

| Variable_name            | Value  |

+--------------------------+--------+

| character_set_client     | utf8  |

| character_set_connection | utf8   |

| character_set_database   | latin1 |

| character_set_filesystem | binary |

| character_set_results    | utf8  |

| character_set_server     | latin1 |

| character_set_system     | utf8  |

+--------------------------+--------+

7 rows in set (0.01 sec)

mysql> show variables like 'collation\_%';

+----------------------+-------------------+

| Variable_name        | Value             |

+----------------------+-------------------+

| collation_connection |utf8_general_ci   |

| collation_database   | latin1_swedish_ci |

| collation_server     | latin1_swedish_ci |

+----------------------+-------------------+

3 rows in set (0.00 sec)

如果客户端想使用另一种字符集来与服务器进行通信,需要修改与通信有关的变量。想要使用utf8字符集,则需要更改3个变量。

mysql> set character_set_client=utf8;

Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_results=utf8;

Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_connection=utf8;

Query OK, 0 rows affected (0.00 sec)

也可以使用SET NAMES语句可以同样的效果。

例如

mysql> set names 'utf8';

Query OK, 0 rows affected (0.00 sec)

对于成对出现的变量,之间的影响关系如下:

设置字符集变量,会将相关排序规则变量设置为该新字符集默认的排序规则

设置排序规则变量的同时,会将相关的字符集变量设置为该新排序规则名的第一部分所暗示的那个字符集。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值