我在python上遇到了一个n00b问题,我在这里搜索了一段时间,但找不到合适的解决方案。。。在
我得到了一个utf8表单,我用ajax将其发布到python页面。我阅读了带有utf-8字符集的json simplejson。在
只要没有utf8和拉丁字符之类的混合字符,文本就可以了?!;,等等。。。在
UnicodeDecodeError:“ascii”编解码器无法解码位置0中的字节0xd7:序号不在范围内(128)
commentjsonarray = simplejson.loads(commentjson, encoding='utf-8')
我试了一堆东西,但我没能让它发挥作用。 救命啊。在
commentjson=请求.POST['commentObj']
^{pr2}$上面是python部分。 以下是javascript:
var walltext = $('walltext').value
var commentObj = {"walltext": ""+walltext+"", "programid": programid, "userid": userid};
var commentJSON = encodeURIComponent(Object.toJSON(commentObj));
if (walltext != '' || walltext == 'type here' || walltext.length > 0) {
new Ajax.Request('/wall/new', {
method: 'post',
encoding: 'UTF-8',
parameters: 'commentObj=' + commentJSON,
onSuccess: function(request){
var msg = request.responseText.evalJSON();
if (msg) {
var structure = '<div id="' + msg.msgid + '"><img src="' + msg.avatarurl + '" width="18" height="18"> ' + msg.username + ':' + msg.text + '<div id="frontSepLine"></div></div>';
//$('programwall').insert({bottom:structure});
refreshWall(msg.programid);
$('walltext').value = 'type here';
var objDiv = document.getElementById("programwall");
objDiv.scrollTop = objDiv.scrollHeight;
}
}
});
您描述的情况对我来说很好(在python2.6上使用标准库
json
),无论是否使用显式编码(对于testring编码的utf-8不需要,因为这里的默认值是utf-8):还有simplejson 2.1.1(在2.6上确实是多余的,但是,哦,好吧;-):
^{pr2}$你能更准确地描述你的问题吗?你对什么触发了你的错误的描述,也就是说“只要没有utf8和拉丁文字符的混合”?!“;,etc”,不会引起任何问题,那么给我们展示一个最微小的例子来说明是否会重现您的问题呢?在
相关问题 更多 >
编程相关推荐