pgadmin4 1.3 引发 CSV 导出损坏

pgadmin4 1.3 raises CSV export broken

我安装了 pgadmin4 1.3(在 docker 容器中),除 CSV 导出外一切正常。

我在首选项中正确填写了二进制路径,但仍然无法正常工作。我没有错误信息。当我单击 CSV 导出图标时,没有任何反应。

这是我的配置:

如果有人遇到同样的问题并且希望知道如何解决它,你能帮忙吗?

谢谢!

终于找到罪魁祸首了!

我查看了 /var/log/apache2/errors.log,并在 CSV 创建过程中看到了一个 UnicodeEncodeError。错误来自此文件:

/usr/local/lib/python2.7/dist-packages/pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py

第 651 行,CSV 写入器在写入特殊字符(如重音字符)时出现故障(我正在使用 Python 2,我想我不会遇到 Python 3 的问题):

csv_writer.writerows(results)

最终我使用 unicodecsv 库解决了它:

  • pip install unicodecsv
  • 第 22 行:将 import csv 替换为 import unicodecsv as csv
  • 第 647 行:将 csv.DictWriter(res_io, fieldnames=header, delimiter=str(','), quoting=csv.QUOTE_NONNUMERIC) 替换为 csv.DictWriter(res_io, encoding='utf-8', fieldnames=header, delimiter=str(','), quoting=csv.QUOTE_NONNUMERIC)

希望在这个编码错误尚未修复的情况下对其他人有所帮助!