在 html 页面中加上中文,就会报错'utf8' codec can't decode byte 0xd7 in position **: invalid continuation byte 。
后台的 view.py ,输出 sys.getdefaultencoding()时,已经是 utf-8 。
Python 用的是 2.7 。
不知 django 中还有哪些处理会造成编码错误。
1
wuyadong 2016-01-04 11:18:55 +08:00
setting.py 的 LANGUAGE_CODE = 'zh-cn'?你试试。
|
2
MrEggNoodle 2016-01-04 12:14:34 +08:00
在 html 页面上加入中文,这个问题好笼统,能否再详细点?
|
3
wph95 2016-01-04 12:45:45 +08:00
# -*- coding: utf-8 -*- 加了吗?
还是老实用 py3 吧 。。。。 彻底杜绝此类问题 |
4
polythene 2016-01-04 12:46:03 +08:00
并不是所有编码出错都可以用 utf-8 解决的,看报错信息说“不能用‘ utf8 ’解码 0xd7 in position **”,也就是你的这串字节它不是合法的 utf-8 字节串,可能是 GBK 编码后的字节。
楼主你把 html 页面的编码改成 utf-8 再试试? |
7
HikiJoy 2016-01-04 15:58:00 +08:00
提问不是你这么提的,建议去 stackoverflow 学一下,想要得到别人回答需要怎么提问。
你贴的信息太少了,可能因此就没人能帮你分析。 都搞不明白你的错在 view 、 model 、 template 的哪里,在系统环境上编辑器上,还是就是特殊字符编码的问题。 |
8
sudoz 2016-01-04 16:30:30 +08:00
没有历史包袱的项目, 为什么还用 2.7 =_=
能用 3.x 就用 3.x |
10
muzzy OP @MrEggNoodle
@HikiJoy 我修改了 template 里面的一个 html 页面,显示的时候由英文改成中文。通过 url 配置指向 views.py 。 html 以及 views.py 的编码方式都是 u8 ,编辑器及项目工程的编码方式也以改成 u8 。 views.py 前面没有报错,最后 return 我修改的那个 html 。前台便输出标题的那个错误。 也是刚刚接触 django ,快速的看了一遍教程后,在 github 上 forks 一个项目,拿下来做汉化的时候出的问题。 |
11
MrEggNoodle 2016-01-04 20:19:45 +08:00
@muzzy 能否把你关键的代码分开一部分一部分贴出来?
|
12
pynix 2016-01-05 07:10:12 +08:00
你处在 python 鄙视链最底端。。。哈哈。。
|