我正在尝试在 webfaction 上使用 Django 创建一个应用程序。我基本上是在搞乱亚马逊 API,当其中一个搜索结果有一个商标符号时,它会传递给我的模板......抛出错误。我收到错误
Caught UnicodeEncodeError while rendering: 'ascii' codec can't encode character u'\u2122' in position 9: ordinal not in range(128)
并想知道是否有人知道修复程序是什么。
我正在尝试在 webfaction 上使用 Django 创建一个应用程序。我基本上是在搞乱亚马逊 API,当其中一个搜索结果有一个商标符号时,它会传递给我的模板......抛出错误。我收到错误
Caught UnicodeEncodeError while rendering: 'ascii' codec can't encode character u'\u2122' in position 9: ordinal not in range(128)
并想知道是否有人知道修复程序是什么。
这可能意味着您正在调用str()
一段 unicode 数据 -str
可以调用该函数ascii
来更好地描述它的作用!您的模板将对 unicode 数据完全满意,因此鉴于您使用的是 Django,我怀疑问题出在__unicode__
方法或类似方法上。
Unicode 是一个棘手的主题,有一个谷歌python unicode
来感受一下。
在没有看到更多代码的情况下进一步帮助您很棘手,但要点是尝试在整个应用程序中使用 unicode 字符串!Python 有一种unicode()
方法与简单字符串的方法完全一样,str
但也适用于 unicode 字符串——最好使用它。
是的,u'\u2122'
是商标标志。在您的代码中的某处,您应该是:
或者
需要采取什么行动,在哪里?不知道,因为您没有提供回溯...请编辑您的问题以包含完整的回溯,并将其格式化为代码,使其清晰易读。