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以外の文字をジブリッシュに置き換えるだけです。
どんな助けでも大歓迎です。