0

正確に何を検索すればよいかわからないので、コミュニティが私を正しい方向に向けてくれることを願っています。

私のサイトには、テキスト入力付きのモデルフォームがあります。それらの入力の1つで、誰かがテキストをコピーして貼り付けました

バンクーバーのマーケティングの並外れたボブ・レニーは、次のように尋ねています。

このリンクから http://blog.buzzbuzzhome.com/2012/05/vancouver-marketing-bob-rennie-bubble.html 引用符とアポストロフィが少し異なっていることに気付くでしょう。

オブジェクトは正常に保存されました。

この問題は、テンプレートがそのフィールドを出力するようにレンダリングしたときに発生しました。私が得た:

バンクーバーのマーケティングの並外れたボブ・レニーが1Cに尋ねます。それがバブルではない場合はどうなりますか?

(引用符とアポストロフィがあるべき1C19に注意してください)

utf-8の問題かもしれないと思いましたが、HTMLファイルの先頭にすでにこれがあります

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
4

1 に答える 1

0

応答を返す前に、最初にユニコード文字列をエンコードする必要があると思います。

In [17]: from django.template import Template, Context                                                                                                                   

In [18]: t = Template("{{ text }}")

In [19]: c = Context({'text': 'Vancouver marketing extraordinaire Bob Rennie asks “What if it’s not a bubble?'})                                                         

In [20]: print t.render(c)
Vancouver marketing extraordinaire Bob Rennie asks “What if it’s not a bubble?

In [21]: t.render(c)
Out[21]: u'Vancouver marketing extraordinaire Bob Rennie asks \u201cWhat if it\u2019s not a bubble?'

HTMLファイルに書き込みt.render(c).encode('utf-8')、他のメタ情報を追加すると、表示されますここに画像の説明を入力

于 2012-06-16T03:55:10.627 に答える