在使用MySQL数据库存储中文时遇到了编码方式的问题,解决的过程很麻烦,我用的这样的方法:
1.创建数据库时使用 create database XXX default character set utf8;来设置数据库的编码格式
2.在project/setting.py文件中设置LANGUAGE_CODE=‘zh-CN’;来设置Django的语言,在print django.__path__打印出的目录下的con目录下的global_settings.py文件中设置Django的(DEFAULT_CHARSET)编码格式为utf8(默认就是utf8)
3.在models.py文件中设置python的编码格式:
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)
4.确保你的终端的编码方式为utf-8
有没有更简单的啊
Python 2 中文编码统一解决方案:
文件编码是UTF-8,同时在文件头添加 # -*- coding: utf-8 -*-
文件中所有的字符串前都加u,如 u"中文"
在输入(抓取某些utf-8/gbk的网页)、输出(输出到网页、终端)的时候,要记住python内部是用Unicode存储的
所有输入要先decode,变成unicode,输出时要encode变成想要的编码(MacOS X/Linux下输出为utf-8,Windows下输出为gbk,但如果是在pycharm自己的控制台下的话,windows下输出为utf-8也可以正常显示)
还有其他很多种古老的解决方案,比如统一用gbk,比如中转编码不用unicode,而用utf-8,如此种种。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。