mysql 字符集的系统变量说明

2016-02-19 09:41 6 1 收藏

今天图老师小编给大家介绍下mysql 字符集的系统变量说明,平时喜欢mysql 字符集的系统变量说明的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

1.character_set_server和collation_server
这两个变量是服务器的字符集。在系统启动的时候可以通过--character-set-server和--collation-server来设置它们。如果没有的话系统会把这两各变量设置成默认值latin1和latin1_swedish_ci。默认值是编译在程序中的,只能通过重新编译来改变。
这两个变量只用来为create database命令提供默认值。
2.character_set_database和collation_database
这两个变量是当前数据库的字符集。create database命令有两个参数可以用来设置数据库的字符集和比较规则。数据库建立会在数据库目录下的db.opt文件中记录数据库的选项,数据库的字符集设置也记录在里面。当我们用use改变当前数据库时,mysql会读数据库db.opt文件来设置这两个变量。当没有当前数据库的时候这两个变量等于character_set_server和collation_server。
这两个变量只用来为create table命令提供默认值。
3.character_set_client
这个变量用来决定mysql怎么解释客户端发到服务器的SQL命令文字。
4.character_set_connection和collation_connection
这两个变量用来决定mysql怎么处理客户端发来的SQL命令。mysql会把SQL命令文字从character_set_client编码转到character_set_connection然后再执行。collation_connection在比较SQL中的直接量时使用。
5.character_set_results
当SQL有结果返回的时候这个变量用来决定发给客户端的结果中文字量的编码。

还有几个字符集概念没有系统变量表示。
6.表的字符集
create table 的参数里可以设置,为列的字符集提供默认值。
7.列的字符集
决定本列的文字数据的存储编码。列的比较规则比collation_connection高。也就是说mysql会把SQL中的文字直接量转成列的字符集后再与列的文字数据比较。
8.character_set_system
这是元数据的字符集,数据库,表和列的定义都是用的这个字符集。它有一个定值, 是utf-8

来源:http://www.tulaoshi.com/n/20160219/1591753.html

延伸阅读
1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何对DBCS(双字节字符集)字符串...
我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 很多mysql数据库工具(除了phpmyadmin,我偶尔用,功能强速度慢)都不支持创建时指定数据库编码,当然可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效 GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; UTF8: C...
标签: Web开发
1、在建库时,catproc一定要运行,否则用rman时会出现如下字符集的错误: RMAN-00554: initialization of internal recovery manager package failed RMAN-04005: error from target database: ORA-06553: PLS-213: package STANDARD noe RMAN-04015: error setting target database character set to ZHS16CGB231280 如果建库时没有问题,那...
以mysql-noinstall-5.0.22-win32为例,解压缩后会看到mysql-5.0.22-win32文件夹下面,有五个ini格式的文件,把my-medium.ini文件拷贝一份,改名为my.ini,打开my.ini文件,在[client]、[mysqld]下面加上default-character-set=gb2312,其含义就是把gb2312设置为数据库的默认字符集。设置完毕后需要重新启动myqsl服务。 同理,可以把其他字符集...
在国内外大中型数据库管理系统中,把 ORACLE 作为数据库管理平台的用户比较多。 ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事 ORACLE 数据库管理,经常收到周围用户和外地用户反映有关 ORACLE 数据库汉字显示问题的求援信,主要现象是把汉字显示为...

经验教程

684

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部