查看mysql数据编码

登录MySQL服务,查看mysql数据库默认的编码

mysql> show variables like 'character%';
+--------------------------+-------------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | E:\0Develop\mysql-5.7.15-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
8 rows in set, 1 warning (0.00 sec) mysql>

可以看出database和server都采用了latin1编码,不支持中文,我们需要把它修改为utf-8。

除了这两个,其它的如下

| 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 | E:\0Develop\mysql-5.7.15-winx64\share\charsets\

设置mysql数据库编码

在mysql安装目录下,将 my-default.ini 复制一分保存为 my.ini 
做如下修改 

主要看红色框里的内容

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci [mysql]
default-character-set = utf8 [mysql.server]
default-character-set = utf8 [mysqld_safe]
default-character-set = utf8 [client]
default-character-set = utf8

然后删除你当前的mysql服务,再重新注册mysql服务 
注:一定要以管理员的权限运行dos命令,且cd到mysql安装目录下的bin目录,再注册mysql服务

C:\Windows\system32>sc delete mysql
[SC] DeleteService 成功 C:\Windows\system32>e: cd
E:\>cd E:\0Develop\mysql-5.7.15-winx64\bin E:\0Develop\mysql-5.7.15-winx64\bin>mysqld --install mysql --defaults-file="E:\0Develop\mysql-5.7.15-winx64\my.ini"
The service already exists!
The current server installed: E:\0Develop\mysql-5.7.15-winx64\bin\mysqld MySQL E:\0Develop\mysql-5.7.15-winx64\bin>net stop mysql
MySQL 服务正在停止..服务名无效。
请键入 NET HELPMSG 2185 以获得更多的帮助。 E:\0Develop\mysql-5.7.15-winx64\bin>mysqld --install mysql --defaults-file="E:\0Develop\mysql-5.7.15-winx64\my.ini"
Service successfully installed.
E:\0Develop\mysql-5.7.15-winx64\bin>

结果

启动服务,查看编码

C:\Windows\System32>net start mysql
mysql 服务正在启动 .
mysql 服务已经启动成功。 C:\Windows\System32>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.15 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 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 | E:\0Develop\mysql-5.7.15-winx64\share\charsets\ |
+--------------------------+-------------------------------------------------+
8 rows in set, 1 warning (0.00 sec) mysql>

数据库实例编码设置

mysql> show create database test;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec) mysql> alter database test default character set utf8;
Query OK, 1 row affected (0.00 sec) mysql> show create database test;
+----------+---------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------+
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec) mysql>

//查看MySQL数据库服务器和数据库字符集 show variables like '%char%';

//查看表的字符集 show table status from mysql_db like '%tb_name%'

//查看表中所有列的字符集 show full columns from tb_name;

//查看mysql所支持的字符集 show charset;

==修改字符集==

//修改全局字符集

set character_set_connection=gb2312;

set character_set_database=gb2312;

set character_set_results=gb2312;

set character_set_server=gb2312;

set character_set_system=gb2312;

set collation_connection=gb2312;

set collation_database=gb2312;

set collation_server=gb2312;

//修改表的字符集 ALTER TABLE tb_name CONVERT TO CHARACTER SET gb2312;

//修改字段字符集 alter table tb_name modify column tb_column varchar(30) character set gb2312 not null;

 

mysql 修改字符集的更多相关文章

  1. mysql修改字符集 转载

    查看编码:    show variables like 'collation_%';    show variables like 'character_set_%';    修改:    MySQ ...

  2. mysql修改字符集

    文章链接:https://www.cnblogs.com/hubavyn/p/4359315.html mysql修改表.字段.库的字符集(转) 原文链接:http://fatkun.com/2011 ...

  3. MySQL修改字符集编码

    通过修改字符集编码为utf8,彻底解决中文问题. 一. 登录MySQL查看用SHOW VARIABLES LIKE 'character%':下字符集,显示如下: +----------------- ...

  4. mysql修改字符集问题

    mysql字符集问题: 本文主要解决mysql7以下问题:mysql7在默认安装后,关于数据库,表默认保存字符格式为latin1: 可以通过命令:查询当前mysql的编码设置: show variab ...

  5. mysql 修改字符集为utf8mb4

    一般情况下,我们会设置MySQL默认的字符编码为utf8,但是近些年来,emoji表情的火爆使用,给数据库带来了意外的错误,就是emoji的字符集已经超出了utf8的编码范畴

  6. linux下mysql修改字符集

    # 编辑/etc/my.cnfvim /etc/my.cnf # 在[mysqld]标签下添加下面内容default-storage-engine = innodbinnodb_file_per_ta ...

  7. mysql修改字符集为utf8

    https://zhidao.baidu.com/question/1642165712897935220.html

  8. 修改MySQL默认字符集编码

    好记心不如烂笔头,很多东西当时没记下来,过了就忘了,下次用到时又得浪费好多时间才能解决.今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MyS ...

  9. mysql查看修改字符集

    1.列出MYSQL支持的所有字符集: SHOW CHARACTER SET; 2.当前MYSQL服务器字符集设置 SHOW VARIABLES LIKE 'character_set_%'; 3.当前 ...

随机推荐

  1. git回滚

    Git回滚的常用手法 07net01.com 发布于 4小时前 评论 传统VCS的回滚操作 对于版本控制系统VCS来说,回滚这个操作应该是个很普通也是很重要的需求. 如果你是传统VCS,比如SVN或者 ...

  2. iOS-UITableView性能优化

    使用不透明视图.     不透明的视图可以极大地提高渲染的速度.因此如非必要,可以将table cell及其子视图的opaque属性设为YES(默认值).其中的特例包括背景色,它的alpha值应该为1 ...

  3. python 各种控制语句

    python的控制语句分为: if: if condition: cmd elif condition:#该块为可选 cmd else:#该块为可选 cmd while: whlie conditio ...

  4. RPi 2B USB 远程桌面

    /******************************************************************** * RPi 2B USB 远程桌面 * 说明: * 用作废的 ...

  5. css 中input和select混排对齐问题

    当INPUT.SELECT及用图片做的button放在一起(并排放一起)时,没法子对齐,一个vertical-align:middle就可搞定.

  6. PostgreSQL增删数据命令示例

    在PostgreSQL中如何用简单的几条SQL语句生成大量的测试数据呢? 此处,我简单的写一个例子,供参考(在Postgresql9.1下面做的): (1)生成一万条测试数据的表foo mydb=# ...

  7. Java 简介

    前言 本文大致介绍 Java 语言 什么是 Java 语言? Java 不仅仅是一门语言,Java 是一个完整的平台,有一个庞大的库,其中包含很多可重用的代码和一个提供诸如安全性,跨操作系统的可移植性 ...

  8. 解决:导入第三方jar包后,仍然出现java.lang.NoClassDefFoundError的错误

    最近,在运行某个Android工程的时候,一直抛出java.lang.NoClassDefFoundError异常. 按照异常所给出的信息,应该是程序使用到的第三方jar包出了问题. 但是,这些第三方 ...

  9. UI学习笔记---第十天UITableView表视图编辑

    UITableView表视图编辑 表视图编辑的使用场景 当我们需要手动添加或者删除某条数据到tableView中的时候,就可以使用tableView编辑.比如微信 扣扣中删除和某人的通话 当我们需要手 ...

  10. Ultra Pull To Refresh下拉刷新

    http://www.jcodecraeer.com/a/opensource/2014/1205/2111.html