一:什么是字符集呢?

  - 引用书中的例子:同样是大熊猫,在大陆叫熊猫,在台湾叫猫熊,在美国叫Panda,要到了非洲,可能都不知道叫啥(于是就乱码了)。

  - 在例子之后引入字符集的概念:字符集就是指符号和字符编码的集合。

  - 不同地方的字典是不同的,就像你给美国人民看“熊猫两个字”,他们绝对不会联想出是 Panda(大熊猫) 这种动物的。

  - SO,正确的使用字符集是非常重要的,使得输入与输出相匹配,才能出现正确的结果。

二:什么是字符集校对规则?(了解)

  - 这里只做了解,因为每种字符集都用默认的校对规则,会在之后讲述。

  - 简单来说,就是一种字符集合的排序规则。

三:字符集简介

  - GB2312  包含简体中文及常用符号,采用双字节编码方式(一个汉字存两个字节)

  - GBK     包含 中、日、韩 的大字符集,GB2312 可以说是 GBK 的子集,也可以说 GBK 是 GB2312 的超集。也是双字节编码方式。

   - UFT8    支持大部分的常见字符(西、中、日、韩、法、俄),对英文一个字节编码,对于其他(如中文),采用三个字节编码。

  - UTF8MB4 一个字符 4 字节存储,支持的字符最广,占用也最大。(支持 emoji)

四:如何选择合适的字符集?

  -  支持多国语言配置, 选择 UTF-8

  -  如果需要兼容老数据,必须选择包含该字符集的字符集合(也就是必须选择包含老数据的字符集)

  -  如果只支持一般中文,数据量大,并且需要较高的性能,请选用GBK(比UTF8占用更小)

  -  需要做字符集运算,选择定长字符,因为定长比不定长处理速度更快

  - 选用字符集之后,请保持所有字符集一致

五:查看当前数据库版本支持什么字符集?

  - 可以通过使用 show character set  查看 数据库版本 支持的字符集

六:服务端默认字符集用处?

  - 设定 服务端字符集,避免因为服务端字符集和表字符集不同导致的乱码等问题。

  - 

  - 在这里涉及几个比较关键的,拿出来说一下

    - 客户端发出的SQL语句,字符集由 character_set_client 来指定。

    - 服务端收到SQL语句,字符集由 character_set_connection 来指定

    - 服务端返回结果,字符集由 character_set_results 来指定。

七:如何设定服务端默认字符集?

  - 全局设定

    - 整个 MySQL 服务中生效。

    - 写入 Mysql.conf 配置,每次启动 Mysql 服务生效。

      - character_set_server=utf8

    - 客户端设置,修改字符集(重启服务丢失)

      - set global character_set_server=utf8;

八:用于指定存储数据时的字符集?

  - 数据库级别

    - 建立指定字符集的数据库

      - CREATE DATABASE 数据库名 CHARSET 字符集;

    - 查看数据库使用字符集

      -  SHOW CREATE DATABASE 数据库名;

    - 修改数据库使用字符集

      -  ALTER DATABASE 数据库名 CHARSET 字符集;

  - 表级别

    - 建立表指定字符集

      -  CREATE TABLE 表名 (...) CHARSET=字符集;

    - 修改表指定字符集

      - ALTER TABLE 表名 CHARACTER SET 字符集;

  - 列级别

    - 建立指定字段字符集

      - CREATE TABLE 表名 (字段名 VARCHAR(20) CHARSET 字符集....);

    - 查看表中各列字符集定义

      - SHOW FULL COLUMNS FROM 表名;

《Mysql 字符集》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. idea 自动根据屏幕代码换行

    勾上即可 -- 建议不开启 有些时候从其他来源网站直接copy的代码文件会出现不勾选还会出现自动换行的情况 解决方法  新建文件  代码全部选剪过去

  2. Linux 常用命令随笔(二)

    Linux 常用命令随笔(二) 1.RPM RPM是RedHat Package Manager(RedHat软件包管理工具) 1.1.安装软件包 rpm -ivh ***.rpm 其中i表示安装,v ...

  3. C++ 成员函数赋值给C 的函数指针的采坑录

    最近做一个banana Pi M1+的硬解码器封装成类的时候,由于是依赖ffmpeg的,而ffmpeg是C 实现的,本来demo 都是直接用C写的,测试也没有问题,想着封装也不会有问题,至少自己对C+ ...

  4. JVM内存管理及垃圾回收【转】

    很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C.C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确 ...

  5. Spring Mvc 入门Demo

    1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...

  6. c# 使用GDAL处理大图

    注意问题: 1.GDAL 使用官网生成好的dll,必须把Bin目录下的dll一并加到执行目录下去,否则会出错.  2. 用环境变量设置引用路径可以避免一大堆dll放一起.代码如下: /// <s ...

  7. Swagger使用小记

    Swagger是一种框架,用于自动生成Restfull API的文档,而不用开发者自己编写文档.它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让 ...

  8. circRNA 在人和小鼠脑组织中的表达

    circRNA 是一类动物体内的内源性的RNA,尽管circRNA的种类丰富,但是其在神经系统中的 功能,并不清楚.科学家通过对人和小鼠的不同脑部组织的RNA 测序,发现了上千种circRNA,经过分 ...

  9. [hadoop] hadoop 运行 wordcount

    讲准备好的文本文件放到hdfs中 执行 hadoop 安装包中的例子 [root@hadoop01 mapreduce]# hadoop jar hadoop-mapreduce-examples-2 ...

  10. vue封装第三方插件并发布到npm

    前言 写此文前特意google了一下,因为有较详细的开发教程我再写意义不大,有把插件封装成组件的教程,有把自己的组件封住成插件的教程,本文主要说明如何把第三方的插件封装成vue插件,简化配置,一键安装 ...