本文最后更新于 2024年5月29日 下午
介绍
NetBox 在导出CSV的时候,会是使用UTF-8编码,而不是UTF-8-SIG编码。
这样会导致导出的文件,在微软的Excel打开中会乱码。(使用Notepad ++不会)
NetBox 系列文章:https://songxwn.com/categories/NetBox/
思路
直接修改Netbox 虚拟环境的 django_tables2 库的默认编码,这样只要不升级或重装此库就不会失效。
修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| vim /opt/netbox/venv/lib/python3.11/site-packages/django_tables2/export/export.py
# 修改库文件,路径看自己的实际情况。
FORMATS = { CSV: "text/csv; charset=utf-8-sig", JSON: "application/json", LATEX: "text/plain", ODS: "application/vnd.oasis.opendocument.spreadsheet", TSV: "text/tsv; charset=utf-8", XLS: "application/vnd.ms-excel", XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", YAML: "text/yaml; charset=utf-8", } 在第37行,直接修改为utf-8-sig,然后重启NetBox即可。
systemctl restart netbox netbox-rq
|