- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符集设定总结
MySQL 字符集设定总结
MySQL(4.1 以后版本) 服务器中有六个关键位置使用了字符集的概念,他们是:client 、connection、
database、results、server 、system。MySQL 有两个和字符集有关的概念。一个就是字符集本身,
一个是字符集校验规则。字符集影响数据在传输和存储过程中的处理方式,而字符集校验则影响 ORDER
BY 和 GROUP BY 这些排序方式。
1.和存储有关的
服务器字符集 (@@character_set_server)
库字符集 (@@character_set_database)
表字符集
字段字符集
character_set_server: 服务器安装时指定的默认字符集设定。
character_set_database: 数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用
服务器安装时指定的字符集设置。
character_system : 数据库系统使用的字符集设定。
在创建一个表的时候,每个字段只要不是 binary,都会有一个字符集。如果不指定,那么在 SHOW
CREATE TABLE 的时候,它是不会显示出来的。
建表时候,字段字符集的选取方式如下:
* if 字段指定的字符集
* else if 表指定的字符集
* else if @@character_set_database
* else @@character_set_server (如果没有设定,这个值为 latin1)
2.和传输有关的
@@character_set_connection
@@character_set_results
@@character_set_client
character_set_connection: 连接数据库的字符集设置类型,如果 php 没有指明连接数据库使用的
字符集类型就按照服务器端默认的字符设置
character_set_results: 数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认
的字符集
character_set_client: 客户端使用的字符集,相当于网页中的字符集设置
3.字符集的校对规则
字符集的校对规则设定分别由上面的 character_set_connection, character_set_database,
character_set_server 决定
collation_connection: 连接字符集的校对规则
collation_database : 默认数据库使用的校对规则。当默认数据库改变时服务器则设置该变量。如果没
有默认数据库,变量的值同 collation_server
collation_server : 服务器的默认校对规则
以上内容中character_set_client, character_set_connection, character_set_results 受客户端默
认字符集影响,其中 php 编译 mysql 模块时的默认字符集同样也受到它链接的 mysql 动态库影响,从而
第 1 页
字符集设定总结
影响到 php 的 character_set_connection, character_set_client 设定。当默认字符集不是 utf8 时,
设置 my.cnf
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
default-character-set 只能改变对存储层(server,database,table,column,system)的设定,对于
客户端和服务器端的通讯层没有任何影响。
mysql SHOW VARIABLES LIKE ‘character_set_%’;
+———————— –+————————————————————————
—+
| Variable_name | Value |
+———————— –+————————————————————————
—+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_
文档评论(0)