在Django写代码时候出现了一下错误
'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
查了一些资料:
内置函数unicode() 提供了访问(编码和解码)所有已注册的Unicode编码的方法。它能转换众所周知的 Latin-1, ASCII, UTF-8, 和 UTF-16。后面的两个可变长编码字符集用一个或多个byte存储Unicode字符。 默认的字符集是 ASCII ,它只处理0到127的编码,拒绝其它的字符并返回一个错误。当一个Unicode字符串被打印、写入文件或通过str()转化时,它们被替换为默认的编码。
例子:
>>> u'abc'要把一个Unicode字符串用指定的字符集转化成8位字符串,可以使用Unicode对象提供的encode()方法,它有一个参数用以指定编码名称。编码名称小写。
u'abc'
>>> str(u'abc')
'abc'
>>> u'你好'
u'\xc4\xe3\xba\xc3'
>>> str(u'你好')
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
str(u'你好')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
>>> u'你好'.encode('utf-8')
'\xc3\x84\xc3\xa3\xc2\xba\xc3\x83'
这样问题就解决了
参考资料 : http://doc.chinahtml.com/Manual/Python/tut/node5.html

