12
我有一個django站點,我需要使用子進程調用腳本。子進程調用工作時,我使用的ASCII字符,但是當我嘗試發出是UTF-8編碼參數,我得到一個錯誤:python subprocess和unicode execv()arg 2只能包含字符串
execv() arg 2 must contain only strings.
字符串u'Wiadomo\u015b\u0107'
從一個Postgres數據庫的到來。這個例子使用波蘭語。當我用英文單詞運行它時,我沒有任何問題。
調用看起來是這樣的:
subprocess.Popen(['/usr/lib/p3web2/src/post_n_campaigns.py', '-c', u'bm01', '-1', u'Twoja', '-2', u'Wiadomo\u015b\u0107', '-3', u'', '-4', u'', '-5', u'', '-6', u'', '-m', u'pl', '-p', 'yes'])
我不知道如何處理字符串在這種情況下。奇怪的是,這個工作正常,當我通過python解釋器運行它。
感謝該訣竅...我以爲它已經被編碼了......經驗教訓。 – deecodameeko