一:什么是字符集呢?

  - 引用书中的例子:同样是大熊猫,在大陆叫熊猫,在台湾叫猫熊,在美国叫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. tail -f 实时查看日志文件 linux查看日志后100行

    tail -f 实时查看日志文件 tail -f 日志文件logtail - 100f 实时查看日志文件 后一百行tail -f -n 100 catalina.out linux查看日志后100行搜 ...

  2. DBNull与Null的区别

    Null是.net中无效的对象引用. DBNull是一个类.DBNull.Value是它唯一的实例.它指数据库中数据为空(<NULL>)时,在.net中的值. null表示一个对象的指向无 ...

  3. headfirst python 01~02

    列表 列表就像是数组 在python 创建一个列表时, 解释器会在内存中创建一个类似数组的数据结构来存储数据, 数据项自下而上(形成一个堆栈), 类似于其他编程语言中的数组. 列表中常用方法: cas ...

  4. modelsim 中如何加载多个对比波形文件

    首先选中波形,然后点击file----datasets. 选中sim文件,然后点击save as. 对所保存的文件命名.完成之后点击done即可. 在完成上述的加载波形之后,会有多个.wlf文件,如上 ...

  5. 超简单Windows安装Scrapy (仅需一步)

    网上很多关于windows安装Scrapy的教程都非常的繁琐,请看我给大家分享的教程,非常简单 一步完成. 超简单的安装方法: 下载地址: https://www.continuum.io/downl ...

  6. MATLAB plot()、scatter()的RGB颜色设置以及生成渐变色

    1.转载:https://blog.csdn.net/wh1312142954/article/details/80796764 plot(x,y,'Color',[R G B]);%只要设置颜色中R ...

  7. react-router 4.3 js实现跳转

    import React, {Component} from 'react'; import { NavLink,Link } from "react-router-dom"; i ...

  8. 3 saltstack高可用

    高可用 如果我们依赖于saltmaster管理服务器,那么就需要对saltmaster做好高可用.那么saltstack-master怎么做高可用呢? 可以参考官网1,官网2 机器配置: 我们有两台机 ...

  9. [Localization] MobileNet with SSD

    先来一波各版本性能展览: Pre-trained Models Choose the right MobileNet model to fit your latency and size budget ...

  10. [Android] Java Basic : preview

    基础教学:lecture, video, lecturer: Matt Stoker Java教学:http://www.runoob.com/java/java-intro.html[菜鸟教程,非常 ...