Character-Encoding
使用 libreoffice –convert-to csv 指定編碼
可以使用以下方法將 Excel 文件轉換為 CSV:
$ libreoffice --convert-to csv --headless --outdir dir file.xlsx
一切似乎都很好。但是,編碼設置為一些不穩定的東西。如果我從 LibreOffice Calc 手動執行“另存為”,我得到的不是 UTF-8 mdash (-),而是一個 \227 (�)。在 CSV 上使用文件會給我“非 ISO 擴展 ASCII 文本,行很長”。所以,兩個問題:
- 這裡到底發生了什麼?
- 如何告訴 libreoffice 轉換為 UTF-8?
我要轉換的特定文件在這裡。
顯然 LibreOffice 預設嘗試使用 ISO-8859-1,這導致了問題。 為了響應此錯誤報告,添加了一個新參數
--infilter
。以下命令產生U+2014 em dash:libreoffice --convert-to csv --infilter=CSV:44,34,76,1 --headless --outdir dir file.xlsx
我用 LO 5.0.3.2 對此進行了測試。從錯誤報告來看,包含此選項的最早版本似乎是 LO 4.4。