Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1366474
  • 博文数量: 185
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2664
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-01 13:46
个人简介

鸟在笼中,恨关羽不能张飞;Survival of the fittest

文章分类

全部博文(185)

分类: Web开发

2015-05-25 17:21:59

这次主要先说下django的中文问题。
因为我的项目代码都是保存在云盘上,所以在默认情况下运维项目工程会报错。
Python使用的的是2.7
Django使用的是1.7





看报错信息就知道是编码问题。以前我一直放到/Users/elvis/Documents这种英文的目录下,所以也就一直没出现过这样的问题。后来是想放到云盘上做个备份,所以问题来了。
其实解决这个问题很简单,编辑django项目中的settings.py文件,加入以下三行
import sys
reload(sys)
sys.setdefaultencoding("utf-8")


这几行是将默认的编码转换格式变成utf-8, 
在大多数情况下程序中的字符串是通过utf-8来编码的。
所以只要加上以上三行就可以了. 




另外还要确定下views.py文件的编码格式,在文件加入以下一行即可。
# -*- coding: utf-8 -*-
这样在运行保存有中文的路径时就不会像下面这样报错了。



最后说一下为什么要这样设置。
因为在Python2.x的语法中默认的str并不是真正意义上我们理解的字符串, 而是一个byte数组, 或者可以理解成一个纯ascii码字符组成的字符串,而真正意义上通用的字符串则是unicode类型的变量。


先解释到这,关于中文字符的还需要些笔墨,下次说。


  ?





阅读(5330) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~