mysql 字符集 校验规则_MySQL字符集及校验规则
1.字符集
# Mysql 的字符集有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定字符集
# 字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等
最早的字符集:ASCII码
中国的字符集:gbk,utf8,gbk2312
日本字符集:shift-JIS
韩国字符集:Euc-kr
万国编码:Unicode 字符集
# 常用的字符集:
gbk:一个汉字占用2个字节
utf8:一个汉字占用3个字节
utf8mb4:一个汉字占用4个字节
# 字符集修改要求:
包含关系才可以修改,通常可以从 gbk -> utf8 -> utfm64
而不能反过来,否则某些字符编码会不识别(如 utfm64 中包含表情)
# 查看字符集:
mysql> show charset;
mysql> select * from information_schema.character_sets;
2.校验规则
# Mysql 的校验规则有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定校验规则
# 查看校验规则:
mysql> show collation;
mysql> select * from information_schema.collations;
| latin7_general_ci | latin7 |
| latin7_general_cs | latin7 |
| latin7_bin | latin7 |
# 校验规则区别
1.以 ci 结尾:不区分大小写
2.以 cs 或者 bin 结尾:区分大小写
# 大小写不同,相同字段也不能添加
mysql> alter table city add nAME varchar(10);
ERROR 1060 (42S21): Duplicate column name 'nAME'
3.设置字符集
# 1.xshell 字符集,在工具类设置
# 2.linux 系统字符集
# 临时修改
[root@db03 ~]# LANG=zh_CN.UTF-8
# 永久修改
[root@db03 ~]# vim /etc/sysconfig/i18n# Centos6
[root@db03 ~]# vim /etc/locale.conf # Centos7
LANG="zh_CN.UTF-8"
# 3.数据库 字符集
1)cmake 字符集指定
cmake .
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
2)配置文件
[root@db03 ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8
# 4.创建数据库时指定字符集
mysql> create database db7 charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> show create database db7;
+----------+--------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------+
| db7 | CREATE DATABASE `db7` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)
# 5.建表时根据库的字符集来建表
mysql> create table tb1(id int);
# 6.指定字符集建表
mysql> create table tb3(id int) charset utf8mb4;
Query OK, 0 rows affected (0.01 sec)
# 7.指定列的字符集
mysql> create table tbtest(name varchar(12) charset latin1);
Query OK, 0 rows affected (0.05 sec)
# 8.修改库的字符集
mysql> alter database db7 charset gbk;
Query OK, 1 row affected (0.00 sec)
# 9.修改表的字符集
mysql> alter table tb2 charset gbk;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 10.修改列的字符集
mysql> alter table student change name name char(24) character set utf8;
Query OK, 6 rows affected (0.03 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql 字符集 校验规则_MySQL字符集及校验规则相关推荐
- mysql字符集详解_MySQL字符集详解
一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...
- 简述mysql字符集选择方法_MySQL字符集选择
一. 怎样选择合适的字符集 对MySQL数据库来说,字符集很重要,因为数据库存储的数据大部分都是各种文字,字符集对数据库的存储,处理性能都会有所影响. 主要考虑一下几方面的因素 1.满足应用支持语言的 ...
- mysql提示符详解_MySQL字符集使用详解
查看字符集相关变量 mysql> show variables like 'character%'; +--------–+-----------+ | Variable_name | Valu ...
- mysql字符集相关问题_MySQL 字符集相关问题
MySQL安装时指定的字符集为UTF8,但是当我向如下表插入汉字时,总是失败(错误字符)! DROP TABLE IF EXISTS t_weather; create table t_weather ...
- xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
Mysql乱码问题的原因与解决 MySQL对中文的支持程度还是很有限的,尤其是新手,一旦出现乱码问题,就会头大.下面介绍几种乱码问题的现象原因及解决方法,仅供参考. 乱码问题1:用PHPmyAdmin ...
- mysql c 中文字符串_MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法...
开源数据库MySQL从来都是中小企业构建web应用的首选,特别是和PHP配合简直就是一 对黄金搭档,深受web开发人员的喜爱.但自从4.1以来MySQL加入了多字符集的支持,很多MySQL使用者发现中 ...
- mysql连接字符乱码_MySQL 字符集导致SQL连接之后中文乱码的问题!
character-set-server = GB2312 collation-server = latin1_general_ci MySQL字符集 GBK.GB2312.UTF8区别 解决 MYS ...
- mysql 字符集等设置_MySQL字符集设置
一.MySQL字符集设置 • 系统变量: –character_set_server:默认的内部操作字符集 –character_set_client:客户端来源数据使用的字符集 –character ...
- mysql校对规则_MySQL中的校对规则
详解MySQL中的校对规则 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is ...
最新文章
- 强哥原创管理方法论之“粉丝经济管理学”
- Science:若DTC基因检测达2%成年人群,几乎所有人的身份或将无所遁形
- Windows 8 应用开发 - 应用栏
- ubuntu 安装 CUDA、 cuDNN 的tips
- 解决debian下看flash视频很卡的问题
- freecplus框架-MySQL数据库操作
- 认识C#中的委托和事件
- 青岛工学院计算机专业分数线,青岛工学院分数线
- Android开发20——单个监听器监听多个按钮点击事件
- 编译原理第四章课后题答案
- JavaScript运算符优先级需要记吗
- 2016SEM行业现状
- IDC中国政府行业IT市场2013年10大预测:新型城镇化和第三平台技术推进政府信息化建设
- linux 更新etc profile,讲解Linux系统中修改/etc/profile文件的方法
- 微商怎么引流?不懂这些就引不来流量!
- 西部数据移动硬盘检测与分区
- 如何在程序员这条道路上走得更远
- hive时间戳格式化HH和hh的区别
- 基于显扬科技3D视觉相机的芯片外观检测系统
- 优秀广告联盟所应该具备的七大标准
热门文章
- 网工视频13第13章.计算机系统开发运行与配置疑难问题
- 信息系统项目管理基础(1)
- ios如何获取gps坐标(定位第二节)
- Android 通过WIFI状态监听广播,判断进入指定wifi范围
- Spring IOC容器【p名称空间注入属性值 】
- mysql堆溢出_为什么这个MySQL触发器会导致堆栈溢出?
- 合并排序算法排序过程_外部合并排序算法
- hashmap put方法_Java HashMap put()方法与示例
- java外部类_Java里什么叫内部类什么叫外部类
- python打印九九加法表_Python小脚本