用Python / Django中的ascii字符替换unicode字符

时间:2018-01-23 14:48:18

标签: django python-2.7 unicode python-unicode pyenchant

我在这里使用Python 2.7(非常相关)。 假设我有一个包含“em”短划线的字符串,“ - ”。这不是用ASCII编码的。因此,当我的Django应用程序处理它时,它会抱怨。很多。 我想用字符串标记化的等效字符替换一些这样的字符,并使用拼写检查API(PyEnchant,它将非ASCII撇号视为拼写错误),例如使用较短的“ - ”短划线而不是em短跑。这就是我正在做的事情:

s = unicode(s).replace(u'\u2014', '-').replace(u'\u2018', "'").replace(u'\u2019', "'").replace(u'\u201c', '"').replace(u'\u201d', '"')

不幸的是,这实际上并没有替换任何unicode字符,我不知道为什么。 我现在没有时间升级到Python 3,从页面顶部的 future 导入unicode_literals,或者设置编码,不允许我在代码中放置实际的unicode文字,如它应该,并且我尝试了使用encode()和decode()的无尽技巧。 任何人都可以在Python 2.7中为我提供一种直接,安全的方法吗?

1 个答案:

答案 0 :(得分:0)

哦,男孩......误报,在这里!它确实有效,但我输入了一些不正确的字符代码。我将提出这个问题,因为代码是唯一让我在这种环境中完成这项特殊任务的东西。

相关问题