django中文乱码终极解决方案
2013-07-09 11:31
239 查看
pyhon的默认编码是ASCII编码,可以通过sys.getdefaultencoding(),为了避免比较麻烦的编码问题应设置系统默认编码为utf8
在django开发过程中通常有这几种编码问题
1、.py程序文件中有中文
这个比较简单,在程序文件的开头添加 # coding=utf8就行了
2、模板中有中文
首先得保证模板文件是utf8编码的,然后在views.py文件开头添加 # coding=utf8,正常的模板渲染就没问题了;
有时候我们渲染完模板后,想把模板对象转换成字符串,比如邮件模板:
这时候如果模板中有中文就会报编码错误,如何解决呢,也容易,只要设置python的系统编码为utf8就行了
3、邮件编码问题
在我的另一篇博文中有详细说明:/article/8174488.html
import sys default_encoding = 'utf-8' if sys.getdefaultencoding() != default_encoding: reload(sys) sys.setdefaultencoding(default_encoding)
在django开发过程中通常有这几种编码问题
1、.py程序文件中有中文
这个比较简单,在程序文件的开头添加 # coding=utf8就行了
2、模板中有中文
首先得保证模板文件是utf8编码的,然后在views.py文件开头添加 # coding=utf8,正常的模板渲染就没问题了;
有时候我们渲染完模板后,想把模板对象转换成字符串,比如邮件模板:
mailTemplate=loader.get_template("blog/email/testemail.html") mail_content=mailTemplate.render(Context({'curtime':curtime})) print(mail_content.__str__())#a********
这时候如果模板中有中文就会报编码错误,如何解决呢,也容易,只要设置python的系统编码为utf8就行了
default_encoding = 'utf-8' if sys.getdefaultencoding() != default_encoding: reload(sys) sys.setdefaultencoding(default_encoding)
3、邮件编码问题
在我的另一篇博文中有详细说明:/article/8174488.html
相关文章推荐
- vim、gvim在windows下中文乱码的终极解决方案
- vim、gvim 在 windows 下中文乱码的终极解决方案
- Django导出excel中文乱码解决方案
- JSP中文乱码问题终极解决方案
- JSP 中文乱码问题终极解决方案
- vim、gvim在windows下中文乱码的终极解决方案
- JSP中文乱码问题终极解决方案
- PL/SQL developer 中文乱码终极解决方案
- mysql-5.6.20-winx64免安装版数据库中文乱码终极解决方案
- RHEL5.1安装VM TOOL及中文乱码终极解决方案 推荐
- JSP中文乱码问题终极解决方案(下)
- 采用ISO8211封装的S57数据,中文读取时乱码及丢字原因分析与解决方法,终极解决方案.
- RHEL5.1安装VM TOOL及中文乱码终极解决方案
- JSP中文乱码问题终极解决方案
- Cygwin各种情况下中文乱码终极解决方案
- php中文乱码终极解决方案
- PHP与MYSQL搭配出现中文乱码的“终极”解决方案
- vim、gvim 在 windows 下中文乱码的终极解决方案
- SSH框架中文乱码终极解决方案
- 【转】JSP中文乱码问题终极解决方案