查看源代码
出自SurfLib
对
MySQL的字符集
的源代码
跳转到:
导航
,
搜索
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才的请求只有这个用户组的用户才能使用:
用户
您可以查看并复制此页面的源代码:
MySQL有两个和字符集有关的概念。一个就是字符集本身,一个是字符集校验规则。字符集影响数据在传输和存储过程中的处理方式,而字符集校验则影响ORDER BY和GROUP BY这些排序方式。 ==和存储有关的== *服务器字符集(@@character_set_server) *库字符集(@@character_set_database) *表字符集 *字段字符集 在创建一个表的时候,每个字段只要不是binary,都会有一个字符集。(?)当然,如果不指定,那么在SHOW CREATE TABLE的时候,它是不会显示出来的。 建表时候,字段字符集的选取方式如下: *if 字段指定的字符集 *else if 表指定的字符集 *else if @@character_set_database *else @@character_set_server(如果没有设定,这个值为latin1) ==和传输有关的== *@@character_set_connection *@@character_set_results *@@character_set_client ==相互之间的影响== 假设C是MySQL客户端,S是MySQL Server。 C发送请求到S *S会把请求的数据从@@character_set_client转成@@character_set_connection。 *然后S会检测相关字段的字符集,则把数据从@@character_set_connection转为字段的字符集,然后再存储或者查询。 *如果S有数据(result)要返回给C,那么S会把取出的数据,从字段的字符集,转为@@connection_result,然后再发送到C ==其他== 到MySQL5.1.22为止,如果要修改默认的character_set_client,character_set_connection,character_set_result。只有在my.cnf里添加如下启动选项: init_connect="SET NAMES utf8" default-character-set只是针对存储层(server,database,table,column)的,对于客户端和服务器端的通讯层没有任何影响。
返回到
MySQL的字符集
。
查看
页面
讨论
查看源代码
历史
中文原文
简体
繁體
大陆
香港
澳門
大马
新加坡
台灣
个人工具
登录
全站导航
订阅更新
BLOG
导航
首页
最近更改
随机页面
搜索
广告
工具箱
链入页面
链出更改
特殊页面