刚开始学习MySQL,下载的是官网最新版本 5..7.14,使用cmd输入中文时报错,于是开始修改mysql默认编码(windows下)

首先通过 show variables like 'character_set_%';查看mysql字符集情

默认编码为 latin1

然后关闭数据库

在mysql安装目录下找到my.ini文件

在其中添加

[client]
default-character-set=utf8

在[mysqld]下添加

character-set-server=utf8

重启mysql

就能将mysql数据库默认编码改为utf-8

网上很多资源都是在[mysqld]下添加

default-character-set=utf8

如果这样改会导致5.7版本mysql无法打开

所以要改为

character-set-server=utf8

改完后,要删除数据库中所有数据,才能使用。

sample is as flows:

my.ini

[mysql]
default-character-set = utf8

[mysqld]
character-set-server = utf8

[client]
default-character-set = utf8

http://blog.csdn.net/hustwht/article/details/52460879

https://www.cnblogs.com/yangmingxianshen/p/7999428.html

一、查看字符集

1.查看MYSQL数据库服务器和数据库字符集

方法一:show variables like '%character%';
方法二:show variables like 'collation%';
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/local/mysql5535/share/charsets/ |
+--------------------------+--------------------------------------+
8 rows in set (0.00 sec)
 方法二:

2.查看MYSQL所支持的字符集

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

3.查看库的字符集

语法:show database status from 库名 like  表名;

mysql> show create database shiyan\G
*************************** 1. row ***************************
Database: shiyan
Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */
1 row in set (0.00 sec)

4.查看表的字符集

语法:show table status from 库名 like  表名;

mysql> show table status from class_7 like 'test_info';
 查看表的字符集

5.查看表中所有列的字符集

语法:show full columns from 表名;

mysql> show full columns from test_info;
 所有列的字符集

二、设置字符集

设置字符集一般有两种方法,一种是在创建表的时候设置字符集,另一种是表建成之后修改字符集。

1.创建时指定字符集

创建库的时候指定字符集:

语法:create database 库名 default character set=字符集;

create database db2 default character set=utf8

创建表的时候指定字符集:

语法:create table 表名(属性)default character set = 字符集;

mysql> create table test1(id int(6),name char(10)) default character set = 'gbk';
Query OK, 0 rows affected (0.39 sec)

2.修改字符集

修改全局字符集

 修改全局字符集

修改库的字符集

语法:alter database 库名 default character set 字符集;

alter database shiyan default character set gbk;
 

修改表的字符集

语法:alter table 表名 convert to character set 字符集;

 alter table test1 convert to character set utf8;
 修改列表的字符集

修改字段的字符集

语法:alter table 表名 modify 字段名 字段属性 character set gbk;

 alter table test1 modify name char(10) character set gbk;
 修改字段的字符集

转 mysql 5.7版本修改编码为utf-8的更多相关文章

  1. MySQL修改编码设置及乱码问题

    源地址:http://blog.csdn.net/millia/article/details/5806774   昨天尝试把自己用php编写的第一个糙站发布到网上..结果出现了因为编码不统一而导致乱 ...

  2. Linux下MySQL 5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)

    一.登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------- ...

  3. 【转贴】Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)

    原文地址; http://www.ha97.com/5359.html PS:昨天一同事遇到mysql 5.5中文乱码问题,找我解决.解决了,有个细节问题网上没人说,我就总结一下. 一.登录MySQL ...

  4. MySQL 8.*版本 修改root密码

    MySQL .*版本 修改root密码 查看版本:select version() from dual; 1.6. 登录mysql: 登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码, ...

  5. 百万年薪python之路 -- MySQL数据库之 永久修改字符串编码 与 忘了密码和修改密码

    永久修改字符集编码的方法: 在mysql安装目录下创建一个my.ini(Windows下)文件,写入下面的配置,然后重启服务端. [client] #设置mysql客户端默认字符集 default-c ...

  6. Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下: +--------------------------+---------------- ...

  7. mysql安装设置mysql字符集utf8及修改密码

    MySQL的下载,建议下载MySQL的解压缩版本 MySQL官网下载推荐别下最新版本的原因是因为很多之前用的jar包和工具类不兼容最新版本的 可以下5.多的和六点多的 这样的压缩包解压再配置就行了 安 ...

  8. mysql安装 卸载 查字符集编码

    下载地址 :     https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 解压zip  解压完之后的目录 在里面新建一 ...

  9. MySQL学习笔记之一---字符编码和字符集

    前言: 一般来说,出现中文乱码,都是客户端和服务端字符集不匹配导致的原因. (默认未指定字符集创建的数据库表,都是latinl字符集, 强烈建议使用utf8字符集)   保证不出现乱码的思想:保证客户 ...

随机推荐

  1. 乱记结论之OI常用四大数列

    一.斐波那契数列 $f(0)=1,f(1)=1,f(i)=f(i-1)+f(i-2) \ \ \ \ (i>=2)$ 经典的解释是兔子生小孩,第0年一对兔子,一对兔子需要一年长大,后面每年都生小 ...

  2. 主席树初探--BZOJ1901: Zju2112 Dynamic Rankings

    n<=10000的序列做m<=10000个操作:单点修改,查区间第k小. 所谓的主席树也就是一个值域线段树嘛..不过在这里还是%%fotile 需要做一个区间查询,由于查第k小,需要一些能 ...

  3. Avito Code Challenge 2018 C

    C. Useful Decomposition time limit per test 1 second memory limit per test 256 megabytes input stand ...

  4. Strongly connected-HDU4635

    Problem - 4635 http://acm.hdu.edu.cn/showproblem.php?pid=4635 题目大意: n个点,m条边,求最多再加几条边,然后这个图不是强连通 分析: ...

  5. 网络学习之OSI七层协议和TCP协议

    OSI七层简单介绍 应用层:提供操作系统和应用程序的接口 表示层:表示数据如何加密.如何压缩的 会话层:将不同应用程序数据分离 传输层:提供可靠和不可靠的数据传输和重传.纠错的功能 网络层:提供IP地 ...

  6. git remote加入本地库的方法

    方法来自airk: 假设须要将你电脑本地的一个git库(目录)B 加入到另外一个git库(目录) A的 remote里 操作方法例如以下: 先在git仓库B操作: git init --bare 然后 ...

  7. C# .NET如何定义图片按钮

    先添加一个按钮,然后修改Image或者BackgroundImage显然不好,我想要按钮透明,就不要放在按钮的方框里,而且鼠标滑过和鼠标点击最好都是我自定义.   我们拉一个PictureBox,然后 ...

  8. linux设备驱动归纳总结(八):2.match.probe.remove

    linux设备驱动归纳总结(八):2.总线.设备和驱动的关系 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  9. iOS开发——高级篇——iOS如何彻底避免数组越界

    我们先来看看有可能会出现的数组越界Crash的地方: ? 1 2 3 4 5 6 7 - (void)tableView:(UITableView *)tableView didSelectRowAt ...

  10. 2015ACM/ICPC Asia Regional Changchun Online /HDU 5438 图

    Ponds                                   Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 1310 ...