mysql数据库乱码


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

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

解决办法:

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

具体操作:

1、进入MySQL控制台

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

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


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

系统运维 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! #保存退出


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

3、service mysqld restart #重启MySQL

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


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

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

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


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

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解决中文乱码教程完成。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在MySQL数据库中添加注释时,可能会遇到乱码的问题。这种情况通常是由于数据库或表字符集与注释字符集不匹配导致的。 首先,我们需要检查数据库或表的字符集设置。我们可以通过运行以下查询来查看: SHOW CREATE DATABASE database_name; SHOW CREATE TABLE table_name; 在结果中,我们需要关注字符集和校对规则相关的部分。 如果数据库或表字符集设置不正确,我们可以通过以下步骤来解决乱码问题: 1. 在更改任何设置之前,我们需要备份数据库以防止数据丢失。 2. 对于数据库级别的设置,我们可以使用ALTER DATABASE语句来更改字符集和校对规则。例如: ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci; 3. 对于表级别的设置,我们可以使用ALTER TABLE语句来更改字符集和校对规则。例如: ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 通过以上步骤,我们可以将数据库和表的字符集设置为正确的值。这样,在添加注释时就不会出现乱码问题了。 如果以上步骤没有解决问题,我们还可以尝试在连接MySQL服务器时指定字符集。例如,在连接命令中添加"--default-character-set=utf8"参数。 需要注意的是,更改字符集可能会影响已有数据的存储和查询。因此,在更改字符集之前,我们应该确保已备份数据库以防止数据丢失,并且在修改之前做足够的测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值