首页 > 解决方案 > CKAN:如何指定资源文件的编码?

问题描述

我正在使用 API 将我的 CSV 文件发布到 CKAN。我想让我的数据易于在巴西 Excel 中打开,因此它必须具有:

  1. 分号“;” 分离的列
  2. 逗号“,”作为小数分隔符
  3. 使用编码 cp-1252

我正在使用数据存储和数据推送器。

我的问题是,如果我使用编码 cp1252 上传数据,Data Pusher 会将其按原样发送到期望数据为 UTF-8 的 Data Store。数据预览未正确显示重音符号。下图中Março是要显示的正确值:

应该是马尔科

我想让我的用户将数据下载为 cp-1252,这样它就可以在 Excel 中轻松打开,而且 CKAN 也能正确显示它。我必须在上传文件时指定文件的编码。

标签: apicharacter-encodingckan

解决方案


我无法直接指定编码,但查看 Data Pusher 源,我发现它使用了 Messy Tables 库。MT 遵循主机的环境语言环境集,因此我将其配置为,pt_BR.UTF8并且我的口音工作正常。

现在我可以使用逗号作为小数分隔符并使用编码 Windows-1252 来发布我的数据。下载数据时,数据在 Excel 中正确打开,并且在数据资源管理器中也正确显示。


推荐阅读