前言

  这里我已经将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的字符编码的更多相关文章

  1. MySQL的字符编码体系(二)——传输数据编码

    MySQL的字符编码体系能够分成两部分:一部分是关于数据库server本身存储数据表时怎样管理字符数据的编码:还有一部分是关于client与数据库server数据传输怎样编码.上一篇MySQL的字符编 ...

  2. Mysql 的字符编码机制、中文乱码问题及解决方案【转载】

    本文转载自:http://hi.baidu.com/huabinyin/item/7f51e462df565c97c4d24929.感谢作者及相关博主.        相信很多朋友都会对字符编码敬而远 ...

  3. 拨开字符编码的迷雾--MySQL数据库字符编码

    拨开字符编码迷雾系列文章链接: 拨开字符编码的迷雾--字符编码概述 拨开字符编码的迷雾--编译器如何处理文件编码 拨开字符编码的迷雾--字符编码转换 拨开字符编码的迷雾--MySQL数据库字符编码 1 ...

  4. Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

    由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 &g ...

  5. MySQL的字符编码体系(一)——数据存储编码

    安装MySQL好多次了,每次都会纠结于数据库的字符编码配置,所以我决定这一次彻底把它理清. MySQL的字符编码结构比較细,它慷慨向分为两个部分:数据存储编码和传输数据编码.本篇讨论数据存储编码部分, ...

  6. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  7. eclipse设置字体_字符编码_快捷键

    eclipse设置字体.字符编码.快捷键 1.设置字体: preferences->general->appearnce->colors and fonts-->basic-- ...

  8. mysql数据库字符编码修改

    mysql数据库字符编码修改 修改数据库的字符集mysql>use mydb mysql>alter database mydb character set utf8; 创建数据库指定数据 ...

  9. mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8

    mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8   原文链接:https://juejin.im/post/5bbdca76e51d45021147de44 鉴于有些刚接触 MySQ ...

随机推荐

  1. Ubuntu设置root密码

    最初使用系统时,只有当前管理员的密码,root密码为随机生成的. 通过 sudo passwd 设置root密码,然后su获得root,也就是最高权限

  2. JavaScript高级 面向对象(2)--调试工具的使用:音乐循环播放

    说明(2017.3.29): 1. 在调试工具console里输入var v = document.createElement("audio"),然后再source的watch里输 ...

  3. sparkStreaming 练习

    val updateFunc2 = (iter:Iterator[(String,Seq[Int],Option[Int])])=>{ iter.map{case (x,y,z) => / ...

  4. git学习(三):git暂存区

    回顾之前学过的命令: git init // 初始化一个项目 git add // 将文件交给工作区 git commit // 提交修改 查看提交日志: git log // 查看提交日志 git ...

  5. ggplot2作图详解:入门函数qplot

    ggplot2作图详解:入门函数qplot   ggplot2的功能不用我们做广告,因为它的作者Hadley Wickham就说ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创 ...

  6. 7 款灵巧实用的 CSS3/jQuery 工具

    作为 Web 前端开发者,应该对 jQuery 比较熟悉,对免费开源的 jQuery 也用的非常多.但是随着 CSS3 标准的诞生和发展,很多 jQuery 插件也都纷纷应用了 CSS3 新标准,也因 ...

  7. jQuery 工具大搜集

    jQuery 是一个非常棒的类库,但是为了保证代码的干净以及代码的精简,它只提供最核心的功能.所以就有了很多其他的工具来丰富jQuery的功能.我在使用这些工具的时候发现我常常重复的编写一些代码,所以 ...

  8. tensorflow函数学习笔记

    https://www.w3cschool.cn/tensorflow_python/tensorflow_python-4isv2ez3.html tf.trainable_variables返回的 ...

  9. spring复习 -day1:Spring简介 、 Spring容器 、 Spring IOC

    Spring创建对象方法   创建对象过程: 第一步:添加SpringIOC环境 (1)在WebRoot/WEB-INT/lib文件夹下,引入SpringIOC配置环境的jar包 如图: (2)在sr ...

  10. Windows 中 .\ 和 ..\ 的区别

    .\ 表示项目文件所在目录之下的目录...\ 表示项目文件所在目录向上一级目录下的目录...\..\表示项目文件所在目录向上二级目录之下的目录.