设置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.
设置MySQL的字符编码的更多相关文章
- MySQL的字符编码体系(二)——传输数据编码
MySQL的字符编码体系能够分成两部分:一部分是关于数据库server本身存储数据表时怎样管理字符数据的编码:还有一部分是关于client与数据库server数据传输怎样编码.上一篇MySQL的字符编 ...
- Mysql 的字符编码机制、中文乱码问题及解决方案【转载】
本文转载自:http://hi.baidu.com/huabinyin/item/7f51e462df565c97c4d24929.感谢作者及相关博主. 相信很多朋友都会对字符编码敬而远 ...
- 拨开字符编码的迷雾--MySQL数据库字符编码
拨开字符编码迷雾系列文章链接: 拨开字符编码的迷雾--字符编码概述 拨开字符编码的迷雾--编译器如何处理文件编码 拨开字符编码的迷雾--字符编码转换 拨开字符编码的迷雾--MySQL数据库字符编码 1 ...
- Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码
由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 &g ...
- MySQL的字符编码体系(一)——数据存储编码
安装MySQL好多次了,每次都会纠结于数据库的字符编码配置,所以我决定这一次彻底把它理清. MySQL的字符编码结构比較细,它慷慨向分为两个部分:数据存储编码和传输数据编码.本篇讨论数据存储编码部分, ...
- ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法
ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...
- eclipse设置字体_字符编码_快捷键
eclipse设置字体.字符编码.快捷键 1.设置字体: preferences->general->appearnce->colors and fonts-->basic-- ...
- mysql数据库字符编码修改
mysql数据库字符编码修改 修改数据库的字符集mysql>use mydb mysql>alter database mydb character set utf8; 创建数据库指定数据 ...
- mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8
mac 设置 MySQL 数据库默认编码(字符集)为 UTF-8 原文链接:https://juejin.im/post/5bbdca76e51d45021147de44 鉴于有些刚接触 MySQ ...
随机推荐
- HTML源文件编码的问题
刚才使用sublime text编辑html文件,在html中使用meta tag指定了charset,如下 <meta http-equiv="content-type" ...
- 通过Windows PowerShell远程管理计算机(精简版)
现在你手中有一台server(主控端),你打算通过主控端远程管理多台server(被控端).这个过程可以通过Windows PowerShell来完成. 首先在被控端上以管理员权限打开PowerShe ...
- binutils工具集之---nm
nm用于列出程序文件中的符号.建立nmtest.c文件: #include<time.h> int global1; ; static int static_global1; ; void ...
- pyqt布局管理器
有时候,碰到错误: QWidget::setLayout: Attempting to set QLayout “” on MainWindow “”, which already has a lay ...
- c#写一个网站后台扫描器
主要分成了那么几个步骤: 1.HTTP状态码 2.字典的导入 3.显示在listview控件当中 第一步: 先来实现HTTP状态码200的判断 try { req = (HttpWebRequest) ...
- BSD Socket~TCP~Example Code
TCP 协议实现 C版本号,可用于Mac OS X机器上执行 Server: /* Setting up a simple TCP server involves the following step ...
- object not serializable (class: org.apache.kafka.clients.consumer.ConsumerRecord)
3. object not serializable (class: org.apache.kafka.clients.consumer.ConsumerRecord) val stream = ...
- 【WPF】对话框/消息弹窗
非模式对话框 需求:弹窗是非模式对话框,即可以多个弹窗弹出,且弹窗后面的窗体可以被操作,不会被锁定. 自定义的窗体Window实现以下步骤: 在C#代码中弹出窗体时,使用 window.Show() ...
- maven打包源码<转>
Plugin: http://maven.apache.org/plugins/maven-source-plugin/ The Source Plugin has five goals: sourc ...
- contiki bsp
1 lpc1768 git clone https://github.com/bolandi/contiki.git 2 efm32 git clone https://github.com/ ...