zoukankan      html  css  js  c++  java
  • 设置MySQL的字符编码

    前言

      这里我已经将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.

  • 相关阅读:
    ZZNU 1995: cots' times
    网站后缀名都有哪些
    webstorm运行到服务器(Apache)
    window系统下node.js环境配置
    window系统安装node.js
    网站创建自定义百度地图
    响应式一级到三级导航
    H5插入视频兼容各大浏览器
    phpStudy环境安装
    jquery on和bind
  • 原文地址:https://www.cnblogs.com/xbq8080/p/6572133.html
Copyright © 2011-2022 走看看