MySQL的默认编码是Latin1,不支持中文,要支持中文需要把数据库的默认编码改为gbk或者utf8。

1、需要以root用户身份登录才可以查看数据库编码方式(以root用户身份登录的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:

>show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

从以上信息可知数据库的编码为latin1,需要改为gbk或者是utf8;

其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;

character_set_results结果集的编码;

character_set_server数据库服务器的编码;

只要确保以上四个使用的编码方式一样,就不会出现乱码问题。

另一个查看数据库编码的命令:

>show variables like ‘collation%';

2、linux系统下,改MySQL数据库默认编码的步骤为:

ü 停止MySQL的运行

/etc/init.d/mysql start (stop) 为启动和停止服务器

ü MySQL主配置文件为my.cnf,一般目录为/etc/mysql

var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹

ü 当我们需要改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码改,在linux下改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

找到客户端配置[client] 在下面添加

default-character-set=utf8 默认字符集为utf8

在找到[mysqld] 添加

default-character-set=utf8 默认字符集为utf8

init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

改好后,重新版启动mysql 就行了,重新版查询数据库编码可发现编码方式的改变:

>show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf

3、windows系统下可以删除MySQL数据库,并重新版安装,在安装过程中可以直接用Mysql Server Instance Config Wizard 进行设置

4、当MySQL数据库服务器已经有数据不适合删除重装时,可以个别指定数据库的编码方式。MySQL指定编码的方式是非常灵活并多样化的,可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码。

以下示例给出创建数据库时指定编码的两种方式:

1)CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;

2)create database if not exists netctoss default character set utf8;

5、如果你使用的是外部接入的方式,可以在连接中确定请求的编码格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=true&characterEncoding=utf-8(注重:不要出现任何空格,否则出错)

6、执行脚本:指定编码格式set names gbk(注重,不是UTF-8)可以改

执行前:

执行后:

从执行命令前后可知,set names gbk只可以改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种改是窗口级别的,只针对本窗口有效,打开另外一个窗口改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

mysql默认编码改为gbk_查看改mysql编码方式让它支持中文(gbk或者utf8)相关推荐

  1. Sublime Text 2/3如何支持中文GBK编码(亲测实现)

    Sublime Text 2/3如何支持中文GBK编码 听语音 | 浏览:17594 | 更新:2014-03-17 10:52 1 2 3 4 5 分步阅读 Sublime Text默认是只支持UT ...

  2. 阿里云服务器mysql默认密码_阿里云服务器修改MySQL初始密码---Linux学习笔记

    主要方法就是修改 MySQL按照文件下面的my.cnf文件 首先是找到my.cnf文件, # find / -name "my.cnf" # cd /etc 接下来最好是先备份my ...

  3. ubuntu中mysql默认密码_ubuntu服务器16.04中mysql的默认密码

    问题描述 我已经安装了Ubuntu 16.04服务器.默认情况下,Mysql服务器已安装在其中.当我尝试使用mysql -u root -p访问mysql时,由于没有密码,无法登录mysql.有没有默 ...

  4. 计算机网络-字符编码的由来(为什么会有乱码,ASCII、Unicode、GBK和UTF-8字符编码区别)

    为什么我们在网络中传输数据,需要指定字符编码,例如使用UTF-8.GBK等编码.那么字符编码到底是什么?以前我也很困惑这个问题,但是学习了计算机网络后我们知道,由于底层电路的设计本质,只能是识别0和1 ...

  5. mysql默认几个库_MySQL 安装初始化mysql后,默认几个库介绍

    背景介绍: 当我们安装初始化mysql后,默认建了几个数据库,那么这些数据库有什么作用呢? mysql> show databases; +--------------------+ | Dat ...

  6. mysql 默认事务隔离级别_详解MySQL事务的四大特性和隔离级别

    1.事务的四大特性(ACID) 1.1.原子性(Atomicity) 原子性是指事务包含的一系列操作要么全部成功,要么全部回滚,不存在部分成功或者部分回滚,是一个不可分割的操作整体. 1.2.一致性( ...

  7. 查看mysql单个表大小限制_查看单个mysql数据库中各个表的大小

    SQL命令为: SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH ...

  8. 修改mysql默认字符集的方法

    mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪. 1. 修改my.cnf vi /etc/my.cnf ...

  9. 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...

    本文主要向大家介绍了MySQL数据库之修改mysql默认字符集的两种方法详细解析 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. (1) 最简单的修改方法,就是修改mysql的m ...

最新文章

  1. cpu风扇声音大_笔记本电脑风扇声音大怎么办
  2. 如何把文件模版上传到SAP数据库层.
  3. DHTML【5】--HTML
  4. 《剑指offer》像素翻转
  5. cut命令详解(转)
  6. 【OpenCV 例程200篇】47. 图像增强—直方图匹配
  7. 信息学奥赛一本通(1065:奇数求和)
  8. win10专业版系统没有休眠选项如何解决?
  9. 学习笔记---Web服务、Remoting、WCF (上) --- Web服务
  10. 全面掌握ping命令(三) ping命令防火墙设置
  11. 并发编程学习之volatile关键字
  12. c语言无法定位程序输入点,WinXP提示无法定位程序输入点于动态链接库上的快速解决办法...
  13. 常用英语高频词汇android,常用英语单词高频词汇-精品
  14. element-ui问题集锦
  15. 20210218CTF伪协议绕过file_get_contents(bugkuctf的web21御结冰城感想)
  16. ORB-SLAM3编译问题 recipe for target ‘CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o‘ failed
  17. 谷歌浏览器在编辑器中打不开_如何在Google文档中使用编辑器聊天
  18. [转一好玩的博文]毕业三年,遇见的傻逼公司大盘点
  19. 旅游路线定制APP开发是否具备发展前景呢?
  20. 计算机毕业设计php旅游网站的设计与实现

热门文章

  1. oracle sqlnet配置,sqlnet.ora文件配置详解
  2. java编译器对字符串+运算的优化导致的有趣现象
  3. mysql records_MySQL 安装配置 · LYF_Records
  4. 特征融合的作用与手段
  5. 用Python爬取手机APP
  6. 【计算机视觉】Lecture 11:LoG和DoG滤波算子
  7. 软件测试职业发展三步曲之一
  8. 【小白学习记录】渗透测试之信息收集
  9. Matlab基本函数-floor函数
  10. 水牛城大学本科的计算机专业,PGA学生系列访谈(三):毕业生访谈之我在水牛城的大学时光...