mysql 中文乱码 2

本贴最后更新于 1991 天前,其中的信息可能已经事过景迁

前言

被乱码问题整整折磨了一个星期,这期间百度了无数的 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 是最流行的关系型数据库管理系统之一。

    691 引用 • 535 回帖
  • 乱码
    13 引用 • 50 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

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

    1 回复
  • branda2019wj
    作者

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