MySQL--字符集参数
==================================================
MySQL字符集相关参数
character_set_client: 表示客户端请求数据的字符集
character_set_connection:表示客户端连接到数据库后传输使用的字符集
character_set_database:默认数据库的字符集,如果创建数据库时没有指定字符集,则使用该默认字符集
character_set_filesystem:在操作系统层次上存放文件使用的字符集,默认为二进制
character_set_results:结果集使用的字符集
character_set_server:服务器使用的默认字符集
character_set_system:为存储系统元数据信息使用的字符集,总是utf8
==================================================
MySQL字符集参数使用
在客户端与MYSQL服务器建立连接后,执行INSERT操作并返回新插入:
1>MYSQL Client使用character_set_client指定的字符集来编码请求数据并发送给MYSQL服务器;
2>MYSQL服务器接收到客户端发送来的请求数据,将数据按照character_set_connection指定的字符集进行解码;
3>MYSQL服务器执行插入请求,将步骤2中解码的数据根据对应的列的字符集进行编码,然后插入数据,写入到文件中;
4>MYSQL服务器执行查询请求,将数据从文件中读取出来,按照对应列的字符集进行解码;
5>MYSQL服务器将查询结果按照character_set_results进行编码,返回给MYSQL Client; 为避免数据库乱码问题,应该保证客户端编码/服务器character_set_client和对于表上字段的charset使用相同的编码方式。
==================================================
影响到字符编码的设置
数据库级别的字符集信息使用db.opt来存放字符集和校验字符集的信息,当该数据库下定义表时未定义字符集,将使用数据库的字符集。
Session settings
-->character_set_server
-->character_set_client
-->character_set_connection
-->character_set_database
-->character_set_result
Schema level defaults
Table level defaults
Column charsets
==================================================
SET NAMES命令
SET NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}
This statement sets the three session system variables character_set_client, character_set_connection, and character_set_results to the given character set. Setting character_set_connection to charset_name also sets collation_connection to the default collation for charset_name.
SET NAMES x相当于执行下面三条语句:
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
If you are using the mysql client with auto-reconnect enabled (which is not recommended), it is preferable to use the charset command rather than SET NAMES.
The charset command issues a SET NAMES statement, and also changes the default character set that is used if mysql reconnects after the connection has dropped.
MySQL--字符集参数的更多相关文章
- 如何修改MySQL字符集
首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在数据库实例.单个 ...
- Mysql字符集设置
转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...
- MySQL字符集
字符集的选择 1.如果数据库只需要支持中文,数据量很大,性能要求也很高,应该选择双字节定长编码的中文字符集(如GBK).因为相对于UTF-8而言,GBK"较小",每个汉字只占2个字 ...
- 1201MySQL配置文件mysql.ini参数详解
转自http://www.cnblogs.com/feichexia/archive/2012/11/27/mysqlconf.html my.ini(Linux系统下是my.cnf),当mysql服 ...
- (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化
本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section. ...
- Mysql字符集知识总结
字符集&字符编码方式 字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,这里的字符可以是英文字符,汉字字符,或者其他国家语言字符. 常见字符集 ...
- MySQL字符集转换引发插入乱码问题
根据http://www.cnblogs.com/cchust/p/4601536.html进行验证测试 问题背景 在mysql上面执行一条普通的insert语句,结果报错: Incorrect st ...
- MySQL配置文件mysql.ini参数详解
my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section. ...
- [MySQL] 字符集的选择
1. Mysql支持的字符集 MySQL服务器可以支持多种字符集,不同的字段都可以使用不同的字符集. 查看所有可用字符集: show character set; select * from info ...
随机推荐
- java中的方法method
java中的方法必须存在于类class里,不能独立存在.类是描述具有某种特征的事物,方法则是这类 事物具有的某种功能,通过调用方法可以实现某种特定的功能.方法名一般以小写的动词开头. 例: publi ...
- 奇怪问题之@RequestBody问题
在项目中使用到了@RequestBody注解:该注解的作用是获取Request请求中body中的数据:最近测试项目的时候发现调用该接口的时候直接返回状态400,当将@RequestBody注解去掉以后 ...
- vivado自动化tcl实现(更新中)
ug1197-vivado-high-level-productivity vivado中如何使用自动化工具进行设计?用过的项目有AD9361提供的官方例子中,使用了自动化方式,可以借鉴.
- api中locale或language字段,传送客户端地域信息,一般为下划线
在请求新闻的分类信息和新闻内容时,需要在api地址中传入local参数,根据用户地区不同返回不同的新闻和分类. local参数,通过navigator.languages[0]获取, 但是,问题来了: ...
- Tap 模拟手势点击坐标
前言:有时候元素怎么都定位不到,没办法就只能坐标定位了,不过这个坐标定位不准确,换个手机就可能定位不到了,这是一个下下策的定位方式. tap用法 1.tap是模拟手指点击页面上元素语法有两个参数,第一 ...
- python 爬虫数据时间转换格式
from datetime import datetimea = '2018/9/18 10/10'print(datetime.strptime(a,'%Y/%m/%d %H/%M'))>&g ...
- UUID自动生成
(uuid,available,createtime) select left(replace(uuid(), '-', ''),24),1,utc_timestamp() 使用: ),,utc_t ...
- codeforce 839A Arya and Bran(水题)
Bran and his older sister Arya are from the same house. Bran like candies so much, so Arya is going ...
- 解决vi编辑器不能使用方向键和退格键
1.使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母 这个问题主要是新系统直装了vi,没有装vim.因为vi是不能直接按退格键删除字符的,所以当你使用退格键删除字符,只有在按下esc时, ...
- 2.19 cookie相关操作
2.19 cookie相关操作 前言虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录.登录后换账号登录时候,也可作 ...