知识补充:数据库字符编码

一、MySQL支持的字符集

1.查看所有可用的字符集

show character set;

或者查看information_schema.character_sets,也可以显示所有的字符集和该字符集默认的校队规则

2.MySQL的字符集包括字符集(character)和校对规则(collation)两个概念。

1)字符集用来定义MySQL存储字符串的方式

2)校对规则用来定义 字符串比较的方式

3)字符集和校对规则是一对多的关系,一个字符集有多个校对规则供你选择!

校对规则命名约定:它们以相关的字符集名开始,通常包括一个语言名,并且以

_ci(忽略大小写)、

_cs(大小写敏感)或者

_bin(二元,即比较是基于字符编码的值而与language无关)结束。

查看字符集的校对规则:

show collation like '字符集前缀%';

二、MySQL内部的字符集和校对规则设置

1.服务器字符集和校对规则设置

暂时了解一下即可

2.数据库字符集和校对规则设置

CREATE DATABASE db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

查看当前数据库的字符集和校对规则:

show variables like 'character_set_database';

show variables like 'collation_database';

ALTER DATABASE db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

3.表字符集和校对规则设置

CREATE TABLE tbl_name (column_list)

[DEFAULT CHARACTER SET charset_name [COLLATE collation_name]]

ALTER TABLE tbl_name

[DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]

4.字段(列)字符集和校对规则

遇到这种情况概率比较小,这只是MySQL提供给我们一个灵活设置的手段

三、MySQL连接字符集设置

过程中要设置正确,诚实守信,这样子如果全部设置正常,服务器端会自动的去按照你设置的字符集转换,但是也要避免想换转换的过程,最好都设置成一样的编码!

连接字符集设置:客户端和服务器之间交互的字符集

1.对于客户端和服务器段的交互操作,MySQL提供了3个不同的参数:

1)character_set_client:客户端来源数据使用的字符集

2)character_set_connection:连接层字符集

3)character_set_results:返回结果字符集

知识拓展:数据在客户端和服务器之间交互的过程中字符集转换的大概过程

1) MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;

2) 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,内部操作字符集的确定方法如下:

1>使用每个数据字段设定的字符集;

2>若上述值不存在,则使用对应数据表设定的字符集;

3>若上述值不存在,则使用对应数据库设定的字符集;

4>若上述值不存在,则使用服务器设定的字符集。

3) 将操作结果从内部操作字符集转换为character_set_results。

这3个参数设定的字符集应该相同,并且客户端使用的字符集确实是参数character_set_client的值,才可以确保用户的数据可以正确的返回且输出。

查看当前设置:show variables like 'character_set%';

修改:

set names 字符集,可以同时修改3个参数的值,对本次有效

也可以在配置文件中设置:

[mysql]

default-character-set=字符集

修改CMD命令行字符集:

chcp 65001 #换成utf-8代码页(设置为utf-8之后最好手动修改显示字体 )

chcp 936 #换成默认的gbk

客户端使用字符,连接层使用的字符集,内部使用的字符集,返回使用的字符集,最好都设置层一样的,并且客户端使用的字符集确实是character_set_client参数的值,这样就绝对不会出现问题!

mysql特殊编码_Mysql 字符编码相关推荐

  1. mysql查看编码_mysql 字符编码的查看与修改

    修改数据库字符集: 代码如下: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...]; 把表默认的字符集和 ...

  2. mysql代表单个字符_mysql字符编码以及字符序

    1.数据库中有关编码格式的配置 查看数据库有关编码格式的配置 mysql> show variables like 'char%'; +--------------------------+-- ...

  3. Mysql中各种与字符编码集(character_set)有关的变量含义

    mysql涉及到各种字符集,在此做一个总结. 字符集的设置是通过环境变量来设置的,环境变量和linux中的环境变量是一个意思.mysql的环境变量分为两种:session和global.session ...

  4. 给mysql数据库设计编码_MYSQL数据库编码原理

    很多站长可能与织梦CMS小编一样,觉得MYSQL数据库即熟悉又神秘.熟悉是因为我们每天都会用到MYSQL进行安装织梦程序,陌生是因为mysql经常与linux联系,是基于linux系统的下的应用,而我 ...

  5. MySQL 中出现的字符编码错误 Incorrect string value: ‘\x\x\x\x‘ for column ‘x‘

    活动地址:CSDN21天学习挑战赛 问题出现的场景: 在MySQL中插入数据时使用中文,数据库就会报错,诸如: Incorrect string value: '\x\x\x\x' for colum ...

  6. MySQL设置数据库的字符编码为utf8

    查看数据库编码: 如果不做任何设置的话,默认是 latin1 show create database test; 设置数据库的字符编码为utf8 alter database test DEFAUL ...

  7. mysql efbbbf_字符集与字符编码

    什么是ANSI字符集? 这个不是固定字符集,如果在中文简体windows中,它代码字符集是gb2312,在繁体值代表是big5等等. 为什么英文字符不会出现乱码? 常见ascii码字符集是:128字符 ...

  8. ansi编码_Java 字符编码

    点击上方蓝字关注我们! 作者介绍 王云静,Java 开发工程师,2018 年 7 月加入去哪儿网,目前在目的地 - 呼叫中心.曾获得过 ACM 亚洲区域赛铜牌. ----- 基本概念 字符集 字符(C ...

  9. unix系统编码 java_JAVA字符编码系列三:Java应用中的编码问题

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

最新文章

  1. linux 权限 x 表示,在Linux系统中,用户对目录拥有“x”权限,表示可以执行下列哪种操作?...
  2. phantomjs 抓取html,javascript – 如何使用PhantomJS获取网站的HTML源代码
  3. js(Dom+Bom)第七天(1)
  4. 【PMP学习笔记】:三、项目经理角色
  5. javascript 西瓜一期 03 机器语言与高级语言
  6. k8s部署jar包_K8S部署SpringBoot应用_都超的博客-CSDN博客_k8s springboot
  7. redis rdb aof区别_干货|Redis的RDB和AOF
  8. python使用-python使用
  9. Android 编程下 Using ViewPager for Screen Slides
  10. 完整的python项目实例-python完整项目
  11. android音频切换到蓝牙耳机,在Android上将音频路由到蓝牙耳机(非A2DP)
  12. nginx 日志格式打印
  13. 室内定位导航地图制作问题
  14. [Android 4.4.4] 泛泰A870 通过刷第三版 Mokee4.4.4 KTU84P 20140626 RC2.1 by syhost
  15. 如何实现打开网页自动弹出QQ对话框
  16. imx6ul gpio中断接收(代码)
  17. 分享如何在 PingCode 这类专业的看板软件中管理敏捷Kanban 项目
  18. 千里之行,始于足下--致2013-2014上半年总结
  19. 关于电视机中DTV码流对android的Timer的影响
  20. 【55种开源数据可视化工具简介】

热门文章

  1. request.getServletContext()
  2. 自由自在意式手工冰淇淋的清凉之风已“冰”临城下
  3. 【学习笔记】含委托加工(转包)的标准成本估算
  4. 【温故知新】CSS学习笔记(三大特性)
  5. 【PP生产订单】入门介绍(二)
  6. 创建预留mb21添加附加字段的增强
  7. 销售收入科目确定VKOA
  8. SAP SD 模块与FI、MM的接口
  9. HR PNPCE rp-provide-from-last报错
  10. SAP alv 去掉标准按钮