0

ここでは Python 2.7 を使用しています (これは非常に関連性があります)。「em」ダッシュ「—」を含む文字列があるとします。これは ASCII でエンコードされていません。したがって、私の Django アプリがそれを処理すると、エラーが発生します。多くの。そのような文字の一部を、文字列のトークン化のために Unicode に相当する文字に置き換えて、スペル チェック API (PyEnchant、非 ASCII アポストロフィをスペルミスと見なす) で使用したいと考えています。たとえば、em の代わりに短い「-」ダッシュを使用します。ダッシュ。これが私がやっていることです:

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

残念ながら、これは実際には Unicode 文字を置き換えているわけではありません。その理由はわかりません。ページの上部に将来から unicode_literals をインポートするか、そこにエンコーディングを設定しても、実際の Unicode リテラルをコードに配置することはできません。 encode() と decode() を使用した無限のトリック。Python 2.7でこれを行うための簡単でフェイルセーフな方法を誰か教えてもらえますか?

4

1 に答える 1