使用Django框架编写一个博客网站,使用的mysql,使用”python3 mange.py migrate”进行数据迁移的时候出现了乱码,其实自己刚开始接触这个框架不是很清,上网搜也没得到解决方案。
总结下来就是mysql在创建数据库的时候默认的字符集不是utf-8,所以一旦表里出现中文的话就会造成乱码,可以自己在创建数据库或者表的时候设定默认的字符集。
昨天发现数据迁移的时候有乱码,自己也不知道乱码是啥意思,去网上搜也没搜到。今天问了同学才知道乱码是ascii码。
昨天在网上搜了一些乱七八糟的解决办法,根本没用。
今天知道那是ascii码之后,我在网上找了一段代码,是把十六进制的字符串转换成ascii码,并且以utf-8的形式输出:
结果实例:
我的这里转码之后发现是帖子的意思,所以排除了Django出错的可能性,所以可以确定是mysql字符的错误。
ok,那怎么解决呢,网上有很多方法,我选择了简单粗暴地一种就是删掉数据库重新再建一个:
|
|
这样就新建了一个字符集是utf-8的数据库,问题就解决了。