如何在OpenERP 7 webkit报告中修复此错误“execv()arg 2必须只包含字符串”?

时间:2015-05-14 11:15:51

标签: webkit wkhtmltopdf openerp-7

我们在Ubuntu Server 12.04中使用OpenERP 7.0,我们安装了以下模块:

  • report_webkit
  • account_financial_report_webkit
  • account_financial_report_webkit_xls

当我们按下“PRINT”按钮时会发生此错误:

execv() arg 2 must contain only strings

但是当按下“EXPORT TO EXCEL”按钮时,它运行正常。

我们安装了wkhtmltopdf版本0.12.1.2

你能帮助我们吗?

2 个答案:

答案 0 :(得分:0)

我们也有这个问题。当subprocess.call中使用的命令有一个带有unicode编码字符的参数时发生。

我设法通过更改系统区域设置并重新启动Odoo / OpenERP来解决此问题。

默认情况下,语言环境设置如下:

LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

通过将其更改为UTF8兼容语言环境,错误不再发生。

LANG=es_ES.utf8
LANGUAGE=
LC_CTYPE="es_ES.utf8"
LC_NUMERIC="es_ES.utf8"
LC_TIME="es_ES.utf8"
LC_COLLATE="es_ES.utf8"
LC_MONETARY="es_ES.utf8"
LC_MESSAGES=es_ES.utf8
LC_PAPER="es_ES.utf8"
LC_NAME="es_ES.utf8"
LC_ADDRESS="es_ES.utf8"
LC_TELEPHONE="es_ES.utf8"
LC_MEASUREMENT="es_ES.utf8"
LC_IDENTIFICATION="es_ES.utf8"
LC_ALL=

答案 1 :(得分:0)

问题已经解决了。您可以在OCA Git Hub上查看this fix。您应该使用新提交更新account_financial_report_webkit模块。拉取请求未在OpenERP 7版本中进行,因此您可能需要手动复制代码或等待拉取请求。

另一个解决方案(解决方法)是change the system variable LANGLANG=en_US.UTF-8