搭建django遇到的中文编码问题:vim等

来源:互联网 发布:淘宝雅鹿羽绒服怎么样 编辑:程序博客网 时间:2024/06/07 05:00

最近初学django,直接在linux上搭建,遇到了不少问题。一个比较头疼的问题就是编码问题。

按照django book搭建好以后访问admin,需要修改默认的admin_site.html里面的django后台管理为自己的系统名字,发现一输入中文就报错,在网上海翻了一些资料,发现是编码问题。网上一致说用utf-8比较好。那么编辑工具,数据库,程序和页面都要统一为utf-8。

1.编辑工具:用vim编辑的,默认不是utf-8,在网上找资料,说什么的都有!发现设置vim的编码是在~/.vimrc文件里面。我的系统自带没有,创建了一个文件。不停的试,在里面的设置如下就成功了:

 

set encoding=utf8:使用与缓冲的文本,也就是正在编辑的文件,可以理解为vim内部运行的机制。
set fencs=utf8,cp936:fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码
set termencoding=cp936 :用ssh远程登录需要设置这个,该编码为中文windows的默认值
set fileencoding=utf8:这个东西尤其重要这个配置的是新建文件和保存文件时文件的编码,如果它的值与encoding(enc)不一样,那么保存的时候Vim会自动把文件内容由encoding(enc)的编码转换为fileencoding(fenc)配置编码再保存。而读取文件的时候,该选项的值会自动同步为fileencodings(fencs):配置的有效编码。(实际上就是上面说的转换规则

总之很容易被他们搞晕--

2.数据库:我按照网上给的查看数据库编码方式查看,发现搭建好以后默认就是utf-8,所以这点略过,网上关于这点有不少答案。

3.程序:我这儿是用的python,因此所有py结尾的文件得在第一行加上一句

#coding=utf-8,python官网有说明。

4.页面:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />这一行是设置页面编码,不过后来我发现后面的有一些html文件没加这句话也能正常显示。再继续研究吧!

原创粉丝点击