字符集(CHARACTER SET)和校对集(COLLATE)
字符集:
可以设置 服务器默认字符集
数据库默认字符集
表默认字符集
甚至到列默认字符集
某个级别没有指定,那么继承上级。
mysql4.1及其之后的版本,对字符集的支持分为四个层次:
服务器(server),数据库(database),数据表(table)和连接(connection):
character_set_server:这是设置服务器使用的字符集
character_set_client :这是设置客户端发送查询使用的字符集
character_set_connection :这是设置服务器需要将收到的查询串转换成的字符集
character_set_results :这是设置服务器要将结果数据转换到的字符集,转换后才发送给客户端
整个过程:
- client(如php程序)发送一个查询;
- 服务器收到查询,将查询串从character_set_client 转换到character_set_connection,然后执行转换后的查询;
- 服务器将结果数据转换到character_set_results字符集后发送回客户端。
1、告诉服务器发送的数据是什么类型的。
character_set_client
2、告诉转换器,转换什么编码
character_set_connection
3、查询结果用什么编码
character_set_results
如果三者都是字符集N
那么 可以简写为 set names N;
例如:
客户端字符集和连接字符集