1、mysql字符集介绍:

字符集是多个字符的集合,常见的字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。

计算机要处理字符集文字就需要进行字符编码。

ASCII字符集:美国信息互换标准编码,7位(bits)表示一个字符,共128字符,字符值从0到127

ASCII扩展字符集:从ASCII字符集扩充出来的,增加了更多符号,使用8位(bits)表示一个字符,共256字符。

Unicode字符集:支持现今世界各种不同语言的书面文本交换、处理及显示

UTF-8:是Unicode的其中一个使用方式,UTF-8使用可变长度字节来储存Unicode字符,又称万国码

Mysql数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)是两个概念,

字符集是用来定义mysql数据字符串的存储方式,校对规则定义字符串比较的方式。

注:mysql可以支持多种字符集,同一台服务器,库、表、表的不同字段都可以指定不同的字符集

2、字符集命令:

查看所有字符集:

mysql -uroot -p -e "show character set \G;"

查看常用字符集:

mysql -uroot -p -e "show character set\G;" | egrep "gbk|utf8|latin1" | awk '{print $0}'

查看字符集校对规则:

mysql -uroot -p -e "show collation;"

查看当前数据库的校队规则:

mysql -uroot -p -e "show variables like 'collation%';"

查看mysql当前字符集设置情况:

进入数据库查看:mysql> show variables like ‘character_set%’;

2.1、命令含义解释:

  • character_set_client:客户端请求数据的字符集

  • character_set_connection:客户机/服务器连接的字符集

  • character_set_database:默认数据库的字符集。

  • character_set_filesystem:把os上文件名转化成此字符集,即把character_set_client转换

  • character_set_filesystem, 默认binary是不做任何转换的

  • character_set_results:结果集,返回给客户端的字符集

  • character_set_server:数据库服务器的默认字符集

  • character_set_system:系统字符集,这个值总是utf8,不需要设置。该字符集用于数据库对象(如表和列)的名字,也用于存储在目录表中的函数名字

2.2、默认情况下字符集选择规则:

(1) 编制mysql时,指定一个默认的字符集(-DDEFAULT_CHARSET=utf8),如果为指定默认是latin1;

(2) 安装mysql后,在配置文件(my.cnf)中指定服务器默认字符集,如未指定,这个值继承自编译时指定的;

(3) 启动mysql时,如果没有在命令行参数中指定默认字符集,则这个值继承自配置文件中的配置,此时character-set-server被设定为这个默认的字符集; 列如:./mysqld --character-set-server=utf8 &

(4) 当创建一个新的数据库时,如不明确指定则这个数据库的字符集被缺省设定为character-set-server;

(5) 当选定了一个数据库时,character_set_databash被设定为这个数据库默认的字符集;

(6) 在数据库里创建表时,表默认的字符集为character_set_database,这个数据库的默认字符集

(7) 当在表内设置列时,如不明确指定,就是表的默认字符集;

3、字符集乱码解决:

3.1、迁移数据:

步骤:1:建库及建表的语句导出,修改为utf8

​ 2:导出之前所有的数据

​ 3:修改mysql服务端和客户端编码为utf8

​ 4:删除原有的库表及数据

​ 5:导入新的建库及建表语句

​ 6:导入之前的数据

3.2、修改数据库配置文件:

要保证数据库服务器默认的字符集是:utf8

修改mysql数据库的配置文件中character-set-server=utf8,重启mysql

[root@xiao4 ~]# vim /etc/my.cnf 修改或加入如下内容

mysql字符集以及字符集错误相关推荐

  1. MySQL数据库端字符集设置

    最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法. 基本概念 • 字符(Character)是指人类语言中最小 ...

  2. mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法

    MySQL对中文的支持程度还是很有限的,尤其是新手,但凡出现乱码问题,就会头大. 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了 ...

  3. mysql 连接字符集_MySQL字符集详解

    一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...

  4. mysql 5.166修改字符集_mysql字符集问题

    最近一直在研究MYSQL的字符集问题,发现问题并不简单,所以有必要深究一番. utf8_unicode_ci PK utf8_general_ci 当前,utf8_unicode_ci校对规则仅部分支 ...

  5. mysql column 字符集_MySQL字符集设置

    一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符 ...

  6. mysql查看当前字符集_Mysql 查看字符集设置

    MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...

  7. MySQL新建数据库|字符集排序规则

    MySQL新建数据库|字符集&排序规则 前言 分析 字符集 utf8mb4和utf8 其他字符集 排序规则 ci结尾 ca结尾 bin结尾 乱序问题 前言 有过新建过的数据库的小伙伴对这张图肯 ...

  8. mysql中基字符集_Mysql中的字符集

    1.字符集基础 在计算机的眼中只有0和1,但是在人类世界中却有上百种语言,每种语言又有成千上万的文字,那么如何在计算中表示人类世界中的这些文字呢? 在上个世纪60年代的时候,美国首先定义了一套规则,在 ...

  9. mysql字符集6_【mysql】6 字符集

    1.基本概念: 字符集:是一套字符与字符编码的集合. 字符:用于显示的抽象符号. 编码:显示符号需要变成二进制数才能存储,将字符转成二进制数,就是字符编码 2.常见的字符集&编码: ascii ...

最新文章

  1. 【附申请地址】阿里云网盘,开放申请啦!非会员下载 10MB/s!有图有真相!
  2. 程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
  3. expression tree to string
  4. 使用JavaScript的图像识别游戏
  5. 大数据_MapperReduce_Hbase_批处理batchMutate源码分析_数据的写入流程源码分析---Hbase工作笔记0032
  6. 为什么坐飞机时会耳痛?
  7. UPS输出连接要求IEC C320 C13,输入连接要求(6)IEC 320 C14
  8. stata15导入csv中文乱码
  9. Word转html实现在线预览
  10. 【免费资源分享】给大家分享一款自己编写的免费语音合成软件,免费文字转语音,无需提供任何接口么,傻瓜式使用!
  11. 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
  12. 裸机运行c语言,裸机_GPIO实验_C语言
  13. Tegra TK1中文输入法
  14. SingleShot姿态估计部署教程
  15. traffic control 之 egress 队列
  16. Redis 客户端三种不同的实现方式(Redisson、lettuce、jedis)
  17. android手机 存储路径设置在哪里找,Android 存储路径选择方法
  18. marshmallow库的简单学习
  19. 坚鹏:苏州银行《银行数字化运营之行动篇》课程培训圆满结束
  20. 【C#】简繁体转换类

热门文章

  1. 计算机多任务处理未来的挑战,基于多任务学习的多姿态人脸重建与识别Multi-poseface-计算机应用.PDF...
  2. layabox使用Animation创作一个简单的动画
  3. 解析Sers微服务-NetCore之Serslot
  4. 企业级项目|用Python进行web开发企业统一用户认证和权限控制平台
  5. cmgr linux命令,linux下利用GPRS模块发短信、打电话
  6. 2021-2022学年广州市执信中学九年级第一学期期中考试英语试题
  7. 混合策略纳什均衡计算
  8. [Error] expected ‘}‘ at end of input处理办法
  9. mybatis中的关联查询
  10. SSL_2325【最小转弯问题】