解决mysql乱码的问题

发布时间:2020-07-11 14:36:07 作者:清晨
来源:亿速云 阅读:166

小编给大家分享一下解决mysql乱码的问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。

1、中文乱码

create table user(name varchar(11));    # 创建user表
insert into table user("carl");         # 添加数据
select * from user;

解决mysql乱码的问题

插入中文问题:

insert into user value("哈哈");

解决mysql乱码的问题

解决方法:

查看表字符编码

mysql> show create table user \G;
*************************** 1. row ***************************
       Table: user
Create Table: CREATE TABLE `user` (
  `name` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

我们可以看到表的默认字符集是latin1. 

所以我们在创建表的时候就需要指定表的字符集:

create table user(name varchar(11)) default charset=utf8;

这样在Linux里面可以访问并且可以插入与访问这个表了。

在客户端显示乱码问题:

服务器端可以显示中文正常,但是在客户端可能会显示乱码。因为我们的服务器是UTF8

解决mysql乱码的问题

而且数据库的编码也存在问题:

解决mysql乱码的问题

解决方法:

查看数据库编码:

show variables like '%char%';

解决mysql乱码的问题

修改字符编码:

set character_set_server=utf8;
set character_set_database=utf8;
show variables like '%char%';

解决mysql乱码的问题

永久修改字符集:

修改mysql配置文件/etc/my.cnf:

[mysqld]
character-set-server=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

请注意这几个参数配置的位置,不然可能会启动不起来mysql服务:

解决mysql乱码的问题

看完了这篇文章,相信你对解决mysql乱码的问题有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 如何解决linux下mysql乱码的问题
  2. 解决mysql乱码问题的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 中文乱码

上一篇:解决postgresql数据库错误28000的方法

下一篇:Android_之动画1

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》