Skip to content

Instantly share code, notes, and snippets.

@tonyc726
Last active August 29, 2015 14:01
Show Gist options
  • Save tonyc726/0c025245b106f734e862 to your computer and use it in GitHub Desktop.
Save tonyc726/0c025245b106f734e862 to your computer and use it in GitHub Desktop.
django GBK 编码总结

django编码问题总结

环境

  1. diango 1.6*
  2. diango-compressor插件 1.4*

**切记:**必须要开始settings.py中的COMPRESS_ENABLED = True,否则编译会报错

HTML实验

发现,如果设置了settings.py中的DEFAULT_CHARSET值,例如:

DEFAULT_CHARSET='GBK'

那么,HTML文件中的<meta charset="*">就无效了,在HTTP的Response Headers中,自动会加入Content-Type: text/html; charser:GBK;,也就是说,DEFAULT_CHARSET的权限比<meta>的权限要高。

CSS实验

实验了以下配置的组合

1、HTML文件中设置<link charset="*">或者不设置charset

2、修改CSS文件的文件编码(GBK或者utf-8);

3、修改CSS文件中头部的@charset值;

结合这3个不同的配置,共测试20种组合,得出结论:
CSS文件一定要<link charset="*">、CSS文件的文件编码统一才能没有中文乱码,但是想通过diango-compressor-SCSS编译,必须还要 CSS文件中头部的@charset值也与前面的2项一致才行。

JS实验

实验了以下配置的组合

1、HTML文件中设置<script charset="*">

2、修改JS文件的文件编码;

结合这2个不同的配置,共测试4种组合,得出结论:
JS文件一定要<script charset="*">、JS文件的文件编码一致才能通过diango-compressor-CoffeeScript编译。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment