前言

这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8。

设置MySQL数据库的编码方式有三种,分别是基于session会话的、基于全局gloable的、永久性改变的。

正文

1.首先连接到MySQL : mysql -uroot -proot

2.输入\s,即可查看数据库的字符编码

3.查看数据库的详细编码

输入:show variables like '%char%';

4.新建一个数据库查看数据库编码

create database test1;

show create database test1;

5.设置当前窗口的数据库字符编码,即使基于会话session级别的,关闭此窗口,重新打开另外的窗口操作数据库依然是原来的字符编码

这里将utf-8设置为gbk:

set character_set_database=gbk;

set character_set_server=gbk;

show variables like '%char%';

我们发现database和server都变成了gbk,然后我们再重新创建一个数据库,查看其编码,

create dabase test2;

show create dabase test2;

我们发现数据库编码已经变为gbk了。

但是我们将此窗口关闭后,重新打开一个新的窗口来连接数据库,重新查看数据库的编码,发现不是我们刚刚修改的gbk了,还是原来的utf-8。如图:

因为是基于会话级别的改变编码的方式,当重新新建一个窗口连接的时候,会话已经改变,所以变为了原来的字符编码。

6.设置全局的数据库字符编码,即使基于整个MySQL服务的,当重启MySQL服务的时候,编码依然会变为原来的字符编码

set global character_set_database=gbk;

set global character_ser_server=gbk;

show variables like '%char%';

我们发现数据库的编码没有修改成功,还是原来的utf-8。但是当我们重新创建数据库或者重新创建表的时候,编码就会是我们所期望的gbk了。

在本窗口的新建数据库是肯定可以的,session级别的都可以,全局的肯定ok的。重点是在另一个窗口中的编码现实的是什么,下面我们复制一个窗口,新建数据库,来查看数据库和表的编码

create database test3;

show variables like '%char%';

我们发现这是没有问题的。

但是我们重启MySQL数据库的时候,编码又是回复为原来的utf-8了。

7.设置永久的字符编码,即需要在配置文件中修改数据库的字符编码

编辑 /etc/my.cnf,

在里面加入,已经有[XXX]的,在里面直接加入即可。

[mysqld]

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

然后重启数据库即可,service mysql restart.

mysql 编码格式_设置MySQL的字符编码相关推荐

  1. MySQL设置数据库的字符编码为utf8

    查看数据库编码: 如果不做任何设置的话,默认是 latin1 show create database test; 设置数据库的字符编码为utf8 alter database test DEFAUL ...

  2. python怎么读写文件-手机上怎么写pythonPython文件读写详解及设置文件的字符编码...

    文件读写操作在各种编程语言中都是比较重要的部分,也是很常用的部分,今天就来详细说一下python对文件的读写操作,以及需要注意的点. 一. python打开文件 代码如下:f = open(" ...

  3. sql server修改字段编码格式_关于MySQL如何修改character_set_client的编码问题

    问题引入: 我们经常会遇到一些向MySQL数据库中插入中文,但是select出来的时候,却发现是乱码的情况.如我们向表a出入这样一段记录:i insert into a values('你好hello ...

  4. php amp amp amp,学习PHPamp;amp;MySQL之amp;mdash;amp;mdash;字符编码篇

    学习PHP&MySQL之--字符编码篇(二_MySQLbitsCN.com 接<学习PHP&MYSQL之--字符编码篇(一)>,这一篇主要学习MySQL乱码形成和字符集设置 ...

  5. mysql拒绝访问root用户_设置mysql的root用户允许远程登录

    设置MySQL的root用户允许远程登录 连接数据库 [root@localhost ~]# mysql -uroot -p密码 选择mysql数据库 mysql> use mysql; 设置访 ...

  6. mysql 常见密码设置_设置mysql用户密码(5.6/5.7)、远程连接数据库、常用命令

    注: 以上命令均需要在mysql下执行:在mysql中每行命令末尾加上分号,表示该行命令执行结束. tb_name即table name()表名. 示例: [root@centos-01inux my ...

  7. mysql 超时_为MySQL设置查询超时

    昨天有人在群里问, MySQL是否可以设置读写超时(非连接超时), 如果可以就可以避免一条SQL执行过慢, 导致PHP超时错误. 这个, 其实可以有. 只不过稍微要麻烦点. 首先, 在libmysql ...

  8. mysql 时区设定_设置MySQL默认时区

    MySQL默认的时区是UTC时区,比北京时间晚8个小时. 假设日志里面的时间是中午12:00,那么北京时间应该是晚上的8:00点钟. 为方便查看和设置时间,我们要设置MySQL的默认时区,以符合本地使 ...

  9. mysql设置最大使用内存_设置MySQL使用大内存页面

    一般情况下使用的内存为每页4K,使用 huge page 的话默认是每页 2M.如果设置MySQL使用 huge page 至少有两个好处,一个是可以减少 Translation Lookaside ...

最新文章

  1. nginx系列:nginx反向缓存代理详解
  2. 百度商品识别心得笔记
  3. DataFountain训练赛 | 用户逾期行为预测
  4. matlab中转置和裁剪,对Matlab中共轭、转置和共轭装置的区别说明
  5. 怎么重置blockinput的锁_AppleID被锁如何解决 AppleID被锁激活方法介绍【图文】
  6. 文件包含常见绕过方法
  7. 实现 VUE 中 MVVM - step10 - Computed
  8. ubuntu 搜狗安装搜狗输入法(fcitx)亲测有用
  9. java编译异常有哪些_java 中 哪些异常必须声明并捕获,否则产生编译错误
  10. 车牌识别训练出现问题
  11. python是什么 自学-自学Python会有什么困难?老男孩自学python编程
  12. 工作总结 2017年8月11日 转换为datatime
  13. 阅读SQL语言艺术实践一
  14. java三大特性面试回答_面试题解3-Java的三大特征
  15. python 直方图均衡化_直方图均衡化-Python实现
  16. word里表格斜线怎么弄
  17. 醉枕江山第五十二章 公主中的公主
  18. 双线服务器托管因时代的发展产生的优势
  19. php 建行外联平台退款
  20. qt编写网易云界面(3)----列表框的实现

热门文章

  1. 工信部网站备案信息查询
  2. 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  3. 程序员编程思想之数学素养(转载时请注明出处)
  4. 黑马程序员------毕老师视频笔记第六天------面向对象(对象初始化过程)
  5. Citrix NetScaler Gateway:使用Smart Access实现根据源IP控制用户可访问的交付组
  6. 新手入门,数控刀具上的代码怎么认?看完就懂了!
  7. 一个Json、数组、Dictionary转换和数组对比的C#实例
  8. Python实现自动扫雷,轻松挤上世界排行榜,破世界纪录~
  9. VERSAL ACAP的加载与配置
  10. 《人人都能用英语》初稿公开──征求建议