Django应用程序中的UnicodeEncodeError

2024-06-07 00:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在webfection上使用Django创建一个应用程序。我基本上是在搞乱amazonapi,当其中一个搜索结果有一个商标符号,它被传递到我的模板中时……就会抛出错误。我发现错误了

Caught UnicodeEncodeError while rendering: 'ascii' codec can't encode character u'\u2122' in position 9: ordinal not in range(128)

不知道有没有人知道解决办法。在


Tags: djangoin模板应用程序错误ascii符号codec
2条回答

这可能意味着您正在对一组unicode数据调用str()-str函数可以被称为ascii来更好地描述它的功能!您的模板对unicode数据非常满意,因此如果您使用Django,我怀疑问题出在__unicode__方法或类似的方法中。在

Unicode是一个棘手的主题,请使用Google for python unicode来体验一下。在

很难在没有更多代码的情况下帮助您进一步,但要点是尝试在整个应用程序中使用unicode字符串!Python有一个unicode()方法,它的工作方式与处理简单字符串的str方法完全相同,但也可以很好地处理unicode字符串,最好使用它。在

是的,u'\u2122'是商标符号。在您的代码中,您应该:

  • 使用支持该字符的编解码器(utf8、cp1250到cp1258等)对unicode数据进行编码

或者

  • 避免意外的自动解码(使用ascii,不支持该字符)。在

需要采取哪些行动?在哪里?不知道,因为你没有提供回溯。。。请编辑您的问题以包含完整的回溯,并将其格式化为代码,以使其清晰易读。在

相关问题 更多 >