最近开发一下小项目,遇到了最常见的乱码问题。
1、数据库使用utf-8 utf-8_generic_ci编码,使用csv上传并导入数据,插入数据的时候出现了问题,有很大部分数据没有被导入,所以使用mb_convert_encoding 转成UTF8,结果都是乱码,后来转成了GBK,OK
mb_convert_encoding($v, "utf-8" ,"GBK");
2、数据输出问题,显示正常,在Windows下的Navicat客户端(Mysql为Win)显示正常,PHP页面(页面UTF8)显示正常;
3、在Linux下mysql命令行显示异常
这个解决办法有,操作很多不知道是什么启的作用。因为我每做一步都会去验证,我的操作从后向前一步一步倒着写,没准第一步就OK了:
最后一步:修改/etc/my.cnf
添加:
default-character-set=utf8
[mysql]
default-character-set=utf8
记得重启MYsql服务
前一步:更改数据库编码 路径为 /var/lib/mysql/[你的数据库名]/db.opt
default-character-set=utf8
default-collation=utf8_general_ci
其余的基本上差不多的操作就不写了