2

Linux の html Web ページにヘブライ文字を出力するための Python CGI を取得できません。これは、問題を示すスクリプトです。

#!/usr/bin/python3
print('Content-Type: text/html; charset=utf-8\n\n')
print ('<html><body>')
print ('first')
print ('second')
print ('תמות')
print ('third')
print ('</body></html>')

ファイルは utf-8 (BOM なし) で保存されます。この .cgi スクリプトをブラウザーのアドレス バーから直接呼び出します。出力は次のとおりです。

first second

ヘブライ語とそれに続くものが欠落している間。Apache ログまたは cgitb を有効にしてもエラーは表示されません

Linux ubuntu 12.04とcentos 6の両方で、Firefox、chrome、IEを使用して、apache 2.2とpython 3.2でテストしました。もちろん、プレーンな html ページでヘブライ語を表示することもできます。Windowsでは問題なく動作します。

編集:リンクされた質問によって最終的な解決策が実際に与えられますが、これはまだ重複していません。以下の私のコメントを参照してください。

4

1 に答える 1

2

sys.stdout のデフォルトのエンコーディングは必ずしも UTF-8 ではないようです。sys.stdout.buffer.write を使いたい場合は、これを試してください:

sys.stdout.buffer.write('תמות'.encode('utf-8'))
于 2012-11-17T00:04:32.620 に答える