Ubuntu 16.04 MySQL 5.7解决中文乱码问题

本文介绍如何在Ubuntu 16.04系统中配置MySQL 5.7以支持UTF8编码,确保数据库能够正确存储中文数据。文章提供了一种有效的方法来解决中文显示问题,并强调了正确设置字符集的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        作为一个初学者,我最近在用scrapy爬顶点小说,得到的数据想存到mysql里面,所以又折腾了一下mysql的配置。结果发现mysql想来对中文都不友好, 只能修改my.cnf使得默认编码方式为utf8。关于具体的配置,网上各种各样的博客都讲的比较详细了,我整理了一个精简版,主要是针对Ubuntu16.04 & MySQL5.7(因为不同版本的mysql的my.cnf或my.ini的位置都不确定)。

        1. 因为mysqld.cnf, 和/etc/mysql/目录下的my.cnf中都写了可以用mysqld.cnf覆盖掉my.cnf.

cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf

        2. 修改/etc/mysql/my.cnf。

主要是插入一段:

[client]

default-character-set = utf8

并且在[mysqld]添加一行

character-set-server = utf8

最后重启mysql

service mysql restart


PS: 要想成功地写入中文,必须确保数据库是修改完编码方式之后创建的。如果是之前创建的数据库, 在重启之后你会发现中文仍然是???,即使restart了也没有用。切记重建数据库,笔者当初就是卡在这里,还思考了很久到底哪里错了。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值