MySQL--字符集基础
=========================================================================
字符集和编码规则
字符集:特定类型或用途的字符集合,为集合中每个"字符"分配一个唯一的ID值(Code Point) 编码规则:将字符集中的字符按照其对应的ID值转换为字节系列的规则(编码和解码)
UNICODE是字符集,而UTF和UTF16以及UTF32属于编码规则。 ASCII编码:American Standard Code for Information Interchange,美国信息互换标准代码,使用1字节8Bit来存放2的8次方255个字符。
GB2312:在ASCII编码的基础上进行扩展,收录6000+常用汉字,形成GB2312编码
GBK:在GB2312的基础上扩展,收录繁体和不常用汉字以及各种字符,形成GBK编码
GB18030:在GBK的基础上扩展,收录各名字的独立的字符,最终形成GB18030
UNICODE: 全球标准化组织ISO统一对全球各种文字和字符进行编码形成的字符集。
UTF8:基于UNICODE字符集,以8Bit为一个编码单位的可变长编码规则,最新UTF8将每个Unicode字符编码为1到4字节长度。
UTF16:基于UNICODE字符集,以16Bit为一个编码单位的可变长编码规则,最新UTF16将每个Unicode字符编码为2个或4个字节长度。
=========================================================================
Unicode字符集与UTF-8编码
Unicode编码与UTF-8的编码的对应关系:
Unicode编码 UTF-8编码(二进制)
U+0000 – U+007F 0xxxxxxx
U+0080 – U+07FF 110xxxxx 10xxxxxx
U+0800 – U+FFFF 1110xxxx 10xxxxxx 10xxxxxx
U+10000 – U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 一个字节的uft8表示的unicode 码范围为(0 ~0x7F)
两个字节长度的uft8 表示的unicode码范围为(0x80 ~ 0x07FF)
三个字节长度的uft8 表示的unicode码范围为(0x0800 ~ 0xFFFF)
四个字节长度的uft8 表示的unicode码范围为( 0x10000 ~ 0x10FFFF)
=========================================================================
MySQL的UTF8和UTF8MB4
MySQL 与UTF8
在MySQL刚开发时,Unicode字符集还不够完善,MySQL使用只支持最长三字节的UTF8字符集便可以存放所有Unicode字符。
随着Unicode的完善,Unicode字符集收录的字符数量越来越多,最新版本的UTF8需要使用1到4个字节来存放Unicode字符。
MySQL为保持版本兼容,依旧使用最多3字节的UTF8字符集,因此MySQL中的UTF8不能完全兼容最新的UTF8版本,导致很多生僻字符和网络表情无法正常存储到MySQL中。 为兼容最新的UTF8字符集,在MySQL 5.5.3版本引入UTF8MB4字符集。
=========================================================================
MySQL字符集查看和修改
#改表的字符集为UTF8
ALTER TABLE TBName CONVERT TO CHARACTER SET utf8; #看字符集对应的默认排序规则
SHOW CHARACTER SET LIKE 'utf8' \G #查看当前字符编码的设置
SHOW VARIABLES LIKE 'character_set%' \G #查看每列的字符集
SHOW FULL COLUMNS FROM TB_Name \G
MySQL--字符集基础的更多相关文章
- mysql字符集基础知识梳理
接着上一篇继续来一篇关于mysql字符设置等问题学习笔记,这篇就不说什么废话了,直接进入正题,不过还是感谢十八哥的无私分享! 我们首先看看mysql整个数据存储和读取一个流程: 连接器(connect ...
- (3.16)mysql基础深入——mysql字符集
(3.16)mysql基础深入——mysql字符集 关键字:mysql字符集,mysql编码 目录 1.概念 2.常用的字符编码 3.查看mysql字符集 [3.1]查看服务器支持的字符集 [3.2] ...
- mysql 开发基础系列14 字符集
字符集是一套文字符号及其编码,比较规则的集合.第一个字符集是ascll(american standard code for information interchange). 1. 选择合适的字 ...
- 2020重新出发,MySql基础,MySql字符集
目录 MySQL字符集和校对规则详解 MySQL字符集的转换过程 MySQL查看字符集和校对规则 MySQL设置默认字符集和校对规则 服务器字符集和校对规则 数据库字符集和校对规则 表字符集和校对规则 ...
- mysql使用基础 sql语句(一)
csdn博文地址:mysql使用基础 sql语句(一) 点击进入 命令行输入mysql -u root -p,回车再输入密码,进入mysql. 终端命令以分号作为一条语句的结束,可分为多行输入,只需 ...
- 查看mysql字符集及修改表结构--表字符集,字段字符集
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- 2.Mysql SQL基础
2.Mysql SQL基础2.1 SQL简介 SQL(Structure Query Language)是结构化查询语言.2.2 SQL使用入门 2.2.1 SQL分类 SQL分为DDL.DML(DQ ...
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集
MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的.character-set-database:数据 ...
- MySQL从删库到跑路(二)——MySQL字符集与乱码解析
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.字符集与编码 1.字符集简介 字符(Character)是各种文字和符号的总称,包括各国家文字.标点符号.图形符 ...
- 【笔记】MySQL的基础学习(二)
[笔记]MySQL的基础学习(二) MySQL 老男孩 一 视图 视图其实就是给表起个别名 1.创建视图 格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS ...
随机推荐
- TensorFlow学习笔记——节点(constant、placeholder、Variable)
一. constant(常量) constant是TensorFlow的常量节点,通过constant方法创建,其是计算图(Computational Graph)中的起始节点,是传入数据. 创建方式 ...
- 关于Xcode9 无法读取文件的问题
以前我们加载本地文件的时候也许没有注意,可是在Xcode9中会出现许多问题,经常会出现图片无法显示,本地html无法加载等问题: 当然不是Xcode的问题,只是以前我们并没有注意,其实Xcode对这些 ...
- Flatten Nested List Iterator
Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...
- jq demo--横向+展开菜单,支持m站
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 学习net core的一些疑问?
所有的内容是否一定都要依赖注入? 获取配置文件的方式是否在类库是获取不到环境变量的? 老出现:InvalidOperationException: Unable to resolve service ...
- Chrome浏览器录屏扩展插件
Chrome浏览器录屏扩展插件,可以录制网页操作或者桌面操作.生成MP4 Loom https://chrome.google.com/webstore/detail/loom-video-recor ...
- webpack对多个模块依赖进行打包
[ webpack3.0.0刚刚出来 所以文章是跟着低版本 教程 操作熟悉 结果好多对不上喔] 七:webpack对多个模块依赖进行打包 通过一刚开始我们了解到 webpack支持commonJS ...
- 用Filter实现图片防盗链
首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下: //// <summary> /// 防盗链Filter. /// </summary& ...
- 点击li ,父辈出现; 子级,子辈不出现. prevUntil ---> 前面多个, 截止到 截止元素 , prev([expr]) --> 前面一个.
要求: 1. 点击第一级 [1知识点] 的时候, [1知识点] 前有 圆圈. 点击 第二级 [1-1知识点, 1-2知识点, 1-3知识点] 时 , [1知识点]出现 圆圈. 2. 点击 第一级 ...
- 在 子 iframe中 点击一个按钮, 变换 这个 iframe的地址url.
//跳到测试结果: function jump() { console.log(self.parent.document.getElementById("iframe").src) ...