前言 被乱码问题整整折磨了一个星期,这期间百度了无数的 blog。之前我的解决方法是修改/etc 下的配置文件 my.cnf,发现依然乱码。最后在侯爷的帮助下终于解决了。主要问题出在数据库和表的字符集和排序规则上,接下来就把解决方法记录下来 第一步:打开 Navicat,连接 MySQL 打开 navicat,点击文件 ..

mysql 中文乱码 2

前言

被乱码问题整整折磨了一个星期,这期间百度了无数的 blog。之前我的解决方法是修改/etc 下的配置文件 my.cnf,发现依然乱码。最后在侯爷的帮助下终于解决了。主要问题出在数据库和表的字符集和排序规则上,接下来就把解决方法记录下来

第一步:打开 Navicat,连接 MySQL

打开 navicat,点击文件,选择新建连接,选择 MySQL,依次输入以下内容即可

5.png

第二步:修改对应数据库的字符集和排序规则

连接成功后,进入对应的数据库,比如笔者这边数据库名为good_movie
good_movie --> 右击 --> 数据库属性-->数据库属性弹出框,修改字符集和排序规则,具体如下图所示

1.png

2.png

第三步:修改具体表中字段的字符集和排序规则

选中表role-->右击-->设计表,然后修改字段name和auths的字符集和排序规则,字符集选择utf8--UTF-8-Unicode,排序规则选择utf8_general_ci,具体看下图所示

3.png

第四步:重启 MySQL,然后执行 Python 脚本,看在 role 表中生成的中文是否乱码

实践证明,生成的中文没有乱码

4.png

后记

经过这几天的研究,发现主要还是 Python 脚本在创建对应的表时没有指定编码,此处涉及到一个知识点,就是 sqlalchamy 指定编码,后期可以继续研究下。。。。。

原创申明:以上内容都是笔者的经验总结,仅供参考,如需转载,请注明出处

展开
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    452 引用 • 468 回帖 • 866 关注
  • 乱码
    12 引用 • 50 回帖
2 回帖
请输入回帖内容...
  • branda2019wj

    我这边目前还不需要支持表情,不过多谢提醒😋

  • 其他回帖
  • 88250

    字符集最好用 utf8mb4,不然支持不了 emoji 表情 😄

    1 回复