我是使用 django 和 dajax 的新手,并且在使用非英文字符时使用 dajax.assign 将 html 文件加载到另一个 html 中的 div 时遇到问题,当我将站点语言设置为英文时,它可以正常工作,但是当我切换到西班牙语时,它不会。
这是我正在做的事情:
我试过了 :
dajax.assign('#setttabs-1','innerHTML','abc')
它工作正常。div 正确显示文本,但是当我尝试时(我正在尝试翻译网站):
dajax.assign('#setttabs-1','innerHTML','ábcñ')
它产生一个异常:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 465: ordinal not in range(128)
我去谷歌上做了一些搜索,发现了这个:
dajax.assign('#setttabs-1','innerHTML','ábcñ'.decode('utf-8'))
这再次使其正常工作并正确显示所有字符,问题是我需要在所述 div 中加载模板,因此以下内容不起作用:
dajax.assign('#setttabs-1','innerHTML',render_to_response('./settings/_change_language.html'.decode('utf-8'), context_instance=RequestContext(request)))
当它尝试加载模板时,它也会抛出上面提到的异常。该模板具有编码元:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
我的 ajax.py 也开始于:
# coding: utf-8
我如何告诉 dajax 将此文件视为 utf-8 以便它可以正确呈现它?有没有更实用的方法来做我在这里想做的事情?我觉得我错过了一些非常简单的东西,但我无法弄清楚。提前感谢您提供的任何帮助。