mysql字符集以及字符集错误
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字符集以及字符集错误相关推荐
- MySQL数据库端字符集设置
最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法. 基本概念 • 字符(Character)是指人类语言中最小 ...
- mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法
MySQL对中文的支持程度还是很有限的,尤其是新手,但凡出现乱码问题,就会头大. 乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了 ...
- mysql 连接字符集_MySQL字符集详解
一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...
- mysql 5.166修改字符集_mysql字符集问题
最近一直在研究MYSQL的字符集问题,发现问题并不简单,所以有必要深究一番. utf8_unicode_ci PK utf8_general_ci 当前,utf8_unicode_ci校对规则仅部分支 ...
- mysql column 字符集_MySQL字符集设置
一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符 ...
- mysql查看当前字符集_Mysql 查看字符集设置
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- MySQL新建数据库|字符集排序规则
MySQL新建数据库|字符集&排序规则 前言 分析 字符集 utf8mb4和utf8 其他字符集 排序规则 ci结尾 ca结尾 bin结尾 乱序问题 前言 有过新建过的数据库的小伙伴对这张图肯 ...
- mysql中基字符集_Mysql中的字符集
1.字符集基础 在计算机的眼中只有0和1,但是在人类世界中却有上百种语言,每种语言又有成千上万的文字,那么如何在计算中表示人类世界中的这些文字呢? 在上个世纪60年代的时候,美国首先定义了一套规则,在 ...
- mysql字符集6_【mysql】6 字符集
1.基本概念: 字符集:是一套字符与字符编码的集合. 字符:用于显示的抽象符号. 编码:显示符号需要变成二进制数才能存储,将字符转成二进制数,就是字符编码 2.常见的字符集&编码: ascii ...
最新文章
- 【附申请地址】阿里云网盘,开放申请啦!非会员下载 10MB/s!有图有真相!
- 程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
- expression tree to string
- 使用JavaScript的图像识别游戏
- 大数据_MapperReduce_Hbase_批处理batchMutate源码分析_数据的写入流程源码分析---Hbase工作笔记0032
- 为什么坐飞机时会耳痛?
- UPS输出连接要求IEC C320 C13,输入连接要求(6)IEC 320 C14
- stata15导入csv中文乱码
- Word转html实现在线预览
- 【免费资源分享】给大家分享一款自己编写的免费语音合成软件,免费文字转语音,无需提供任何接口么,傻瓜式使用!
- 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
- 裸机运行c语言,裸机_GPIO实验_C语言
- Tegra TK1中文输入法
- SingleShot姿态估计部署教程
- traffic control 之 egress 队列
- Redis 客户端三种不同的实现方式(Redisson、lettuce、jedis)
- android手机 存储路径设置在哪里找,Android 存储路径选择方法
- marshmallow库的简单学习
- 坚鹏:苏州银行《银行数字化运营之行动篇》课程培训圆满结束
- 【C#】简繁体转换类
热门文章
- 计算机多任务处理未来的挑战,基于多任务学习的多姿态人脸重建与识别Multi-poseface-计算机应用.PDF...
- layabox使用Animation创作一个简单的动画
- 解析Sers微服务-NetCore之Serslot
- 企业级项目|用Python进行web开发企业统一用户认证和权限控制平台
- cmgr linux命令,linux下利用GPRS模块发短信、打电话
- 2021-2022学年广州市执信中学九年级第一学期期中考试英语试题
- 混合策略纳什均衡计算
- [Error] expected ‘}‘ at end of input处理办法
- mybatis中的关联查询
- SSL_2325【最小转弯问题】