MySQL字符集设置
来源:互联网 发布:曼奇立德网络班 编辑:程序博客网 时间:2024/06/05 06:20
MySQL连接字符集设置
u 设置的两种方式:
l 用SQL命令"SET NAMES 字符集名";每次连接数据库都得执行一次。
n 如:SET NAMES 'gbk';
l 在my.ini中设置(Linux是my.cnf):
n [mysql]
default-character-set=gbk
u 显示当前客户端的字符集:
l SHOW VARIBLES LIKE 'character_set_client';
已有数据的字符集修改
u 不能直接用ALTER DATABASE CHARACTER SET xxx进行字符集的修改,这样原有数据会乱码的。
u 对于已有数据的字符集调整,需要先导出数据,调整字符集后在导入
总结
常用字符集
ASCII
ISO-8859-1
GB2312
GBK
UTF-8
目标
u MySQL字符集设置
l 常用字符集介绍
l MySQL字符集设置
常用字符集概述
u 字符集(charset):是一套文字符号及其编码的集合。
u ASCII
l 单字节7为编码。共可表示127个字符
l 大小写英文字母、阿拉伯数字和标点符号以及33个控制符号
l 美式字符集
u ISO-8859-1(Latin1)
l 单字节8为编码。共可表示255个字符
l 与ASCII编码兼容
l 把其他任何编码的字节流当做ISO-8859-1编码看待都没有问题。所以经常用来转码
l 西欧字符集
中文字符集
u GB2312
l 双字节编码
l 包括对简体中文字符的编码,一共收录了7445个字符,包括6763个汉字和682个其他符号,未收录繁体中文汉字和一些生僻字。
l 与ASCII字符编码兼容
l 早期中文标准
u GBK
l 双字节编码
l 完全兼容GB2312,收录了21886个字符,包括繁体和简体中文字符
l GB2312的扩展。使用广泛
u GB18030
l 2或4字节编码
l 向下兼容GBK和GB2312标准,收录了27484个汉字
l 中文新标准。但目前使用不广泛
Unicode字符集
u Unicode字符集包括全世界所有语言的文字和符号
l 它为每种语言中的每个字符设定了统一并且唯一的二进制编码
u Unicode的常用实现
l UTF-16: 用固定的2字节存储一个Unicode字符
n Java和windows xp内使用
l UTF-8: 用1~6个字节存储一个Unicode字符
n 互联网和UNIX/Linux广泛支持,MySQLServer内部也使用
n 英文字母、数字和符号用一个字节存储,中文用三个字节存储
MySQL支持的字符集
u MySQL的字符集设置包括字符集(charset)和校对规则(Collations)两个方式。
u 字符集:是用来定义MySQL存储字符串的方式。
l 显示所有可用的字符集:SHOW CHARACTER SET;
u 校对规则:是在字符集内用于比较字符的一套规则。
l 校对规则命名约定:以相关的字符集命名看是,然后通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元,即比较是基于字符编码的值而与语言无关)结束。
l 如:字符集gbk,它对应的默认校对规则是:gbk_chinese_ci。
l 显示所有可用的字符校对规则:SHOW COLLATION;
n SHOW COLLATION LIKE 'gbk%';
MySQL的字符集选择
u 字符集选择:
l 支持国际化:选择Unicode字符集,目前就是UTF-8。
l 中文数据量大:GBK。
u 校对规则选择:
l 基本上都是使用默认的校对规则。
MySQL字符集设置
u 有4个级别的默认设置:
l 服务器级
n 可在my.ini中设置(Linux是my.cnf):
-[mysqld]
default-character-set=gbk
n 默认校对规则使用该字符集的校对规则。
-显示当前服务器的字符集:SHOW VARIABLES LIKE'character_set_server';
-显示当前服务器的校对规则: SHOW VARIABLES LIKE'collation_server';
l 数据库级
n 创建数据库的时候指定,也可以用ALTER DATABASE修改。
n 没有指定时,使用服务器的字符集和校对规则。
l 表级
n 创建表的时候指定,也可用ALTER TABLE修改。
n 没有指定时,使用数据库的字符集和校对规则。
l 列级
n 很少使用。
MySQL连接字符集
u 在实际的应用程序访问过程中,还需要设置连接字符集。对于客户端和服务器的交互操作,还提供了3个不同的参数:
l character_set__client: 客户端的字符集
l character_set_connection: 连接的字符集
l character_set_results: 返回结果的字符集
l 通常这三个字符集是要相同的,才能保证数据的正确性。
u 客户端访问MySQL服务器的过程
l client发送一个查询:服务器收到查询,将查询串从character_set_client转换到character_set_client转换到character_set_connection,然后执行查询;服务器将结果数据转换到character_set_results字符集后发送回客户端。
- mysql 字符集的设置
- 深入Mysql字符集设置
- 设置Mysql字符集
- MySQL字符集设置
- 深入Mysql字符集设置
- 设置Mysql字符集
- MYSQL 设置字符集
- Mysql 字符集 设置
- MySQL字符集的设置
- mysql字符集设置
- Mysql 字符集 设置
- 查看mysql字符集设置
- mysql 字符集设置
- mysql 字符集设置
- 深入Mysql字符集设置
- 深入Mysql字符集设置
- 深入Mysql字符集设置
- 深入Mysql字符集设置
- MSSQLServer2008复习
- 正则test和字符串match--匹配问题
- 为什么要少用Iframe
- log4cxx的使用
- MySQL数据表DML操作
- MySQL字符集设置
- select 和 epoll
- js call
- Spring MVC深入讲解
- java垃圾回收器
- Android Drawable资源的使用
- windows7系统中开启超级管理员权限(administrator)
- 小菜的Java学习之路 ———— 与C++的不同之处
- 经典排序算法系列之一:插入排序