修改MySQL数据库字符编码为UTF-8解决中文乱码

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

由于MySQL编码原因会导致数据库出现乱码。

解决办法:

修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。

具体操作:

1、进入MySQL控制台

mysql -uroot -p #输入密码进入

status; #查看当前MySQL运行状态,如下图所示:

系统运维  www.osyunwei.com  温馨提醒:系统运维原创内容版权所有,转载请注明出处及原文链接

Server characterset: latin1

Db characterset: latin1

Client characterset: utf8

Conn. characterset: utf8

默认客户端和服务器端都用了latin1编码,所以会出现乱码。

2、修改mysql配置文件

vi /etc/my.cnf

#在[client]段增加下面代码

default-character-set=utf8

#在[mysqld]段增加下面的代码

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

3、service mysqld restart #重启MySQL

再次进入MySQL控制台查看,如下图所示:

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

show variables like 'character_set_%'; #查看MySQL字符集

MySQL数据库字符集编码修改完成!

参数说明:

character_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:

默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,

使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:

把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。

character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

备注:

MySQL 5.5之前的版本设置办法:

在[client]段下添加

default-character-set=utf8

在[mysqld]段下添加

default-character-set=utf8

注意,如果修改后不能启动报错,把[mysqld]段下default-character-set=utf8改为character_set_server=utf8,取消[client]段的设置。

创建数据库的命令:

Create DATABASE IF NOT EXISTS mydata default charset utf8 COLLATE utf8_general_ci;

至此,修改MySQL数据库字符编码为UTF-8解决中文乱码教程完成。










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1680483,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
25天前
|
存储 关系型数据库 MySQL
数据库字符编码MySQL中使用UTF-8还是UTFB4
数据库字符编码MySQL中使用UTF-8还是UTFB4
20 0
|
3月前
|
存储 自然语言处理 关系型数据库
👨‍💻如何使用MySQL存储Emoji表情,UTF-8和UTF-8MB4字符编码有何区别?
👨‍💻如何使用MySQL存储Emoji表情,UTF-8和UTF-8MB4字符编码有何区别?
98 1
|
3月前
|
关系型数据库 MySQL Java
windows下mybatis插入mysql数据中文乱码问题解决
windows下mybatis插入mysql数据中文乱码问题解决
|
4月前
|
关系型数据库 MySQL Linux
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
51 0
|
5月前
|
关系型数据库 MySQL Shell
MySQL中文乱码问题
MySQL中文乱码问题
27 0
|
10月前
|
关系型数据库 MySQL 数据库
mysql中文乱码解决方法
mysql中文乱码解决方法
99 0
mysql中文乱码解决方法
|
11月前
|
关系型数据库 MySQL Java
Mysql中文乱码问题-设置MySQL编码-windows
在实际开发中经常遇到JDBC连接数据库,存入或获取数据乱码的问题,主要原因是MySQL安装的时候的编码设置为设置为UTF-8,这里给出详细解决方案
|
12月前
|
SQL 存储 数据可视化
Mysql:数据库建立的字符编码规则注意
数据库建立的字符编码规则注意
166 0
|
关系型数据库 MySQL
mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
|
关系型数据库 MySQL Java
eclipse写入mysql中文乱码
eclipse写入mysql中文乱码
147 0