pgadmin4 1.3 引发 CSV 导出损坏
pgadmin4 1.3 raises CSV export broken
我安装了 pgadmin4 1.3(在 docker 容器中),除 CSV 导出外一切正常。
我在首选项中正确填写了二进制路径,但仍然无法正常工作。我没有错误信息。当我单击 CSV 导出图标时,没有任何反应。
这是我的配置:
- Python 版本:2.7.12
- PostgreSQL 版本:9.5
- Pgadmin 版本:4.1.3
- Ubuntu16.04
如果有人遇到同样的问题并且希望知道如何解决它,你能帮忙吗?
谢谢!
终于找到罪魁祸首了!
我查看了 /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)
希望在这个编码错误尚未修复的情况下对其他人有所帮助!
我安装了 pgadmin4 1.3(在 docker 容器中),除 CSV 导出外一切正常。
我在首选项中正确填写了二进制路径,但仍然无法正常工作。我没有错误信息。当我单击 CSV 导出图标时,没有任何反应。
这是我的配置:
- Python 版本:2.7.12
- PostgreSQL 版本:9.5
- Pgadmin 版本:4.1.3
- Ubuntu16.04
如果有人遇到同样的问题并且希望知道如何解决它,你能帮忙吗?
谢谢!
终于找到罪魁祸首了!
我查看了 /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)
希望在这个编码错误尚未修复的情况下对其他人有所帮助!