2010-04-08 53 views
0

我有一个小的web应用程序在服务器端运行Python和客户端的JavaScript(jQuery)。 现在根据某个请求,我的Python脚本返回一个unicode字符串,客户端应该将该字符串放入浏览器的div内。但是,我得到一个来自Python的unicode编码错误。从python返回unicode字符串通过AJAX

如果我从shell(debian linux上的bash)运行脚本,脚本运行良好并且打印unicode字符串。

任何想法?

谢谢!

编辑

这是导致错误的print语句:

print u'öäü°' 

这是错误消息我得到: UnicodeEncodeError: 'ASCII' 编解码器不能编码的字符位置34-36:序号不在范围内(128)

但是,我只通过ajax($('#somediv')。load('myscript.py');)调用脚本时得到该消息)

谢谢!

+1

代码?例外?什么? – 2010-04-08 15:47:48

回答

3

如果python解释不能确定sys.stdout ASCII的编码被用作后备然而字符串中的字符不是ASCII的一部分,因此一个UnicodeEncodeError异常。

解决方案是使用类似.encode(sys.stdout.encoding or "utf-8")的东西来编码字符串。这样utf-8被用作后备而不是ascii。

相关问题