1

debian/ django/ python/ subprocess.Popen/でエンコーディングの問題wkhtmltopdfが発生しています(問題の原因となっている部分がわかりません)。

この問題は、AmazonUbuntuサーバーインスタンスwkhtmltopdfのPythonを介してUnicode文字列を渡すことに関連しています。subprocess.Popen

コード:

popen = subrocess.Popen(
    ['wkhtmltopdf', '--header-right',  u'Copyright © 2012 Sité Náme', 'file.html', '-'],
    stdout=subprocess.PIPE)

私のOSXLion開発マシンでは、ページヘッダーは、著作権記号とアクセント付き文字の両方で正しく表示されます。本番サーバーとテストサーバーでは、それほど多くはありません。

Djangoは上記の行でこのエラーを返しています:'execv()arg2には文字列のみが含まれている必要があります'。非ASCII文字を削除すると、機能します。

サーバーはDebianGNU/Linux6.0.4です。PythonのバージョンはPython2.6.6です。そして、私は関連していると思い sys.getfilesystemencoding()ます。サーバーでは「ANSI_X3.4-1968」を返しますが、OSXでは「UTF-8」を返します。

.encode('utf-8')やその他のさまざまな組み合わせを追加しようとしましたが、エラーを削除することはできますが、ASCII以外の文字をジブリッシュに置き換えるだけです。

どんな助けでも大歓迎です。

4

0 に答える 0