![libreoffice --convert-to csv를 사용하여 인코딩을 지정하세요.](https://linux55.com/image/82635/libreoffice%20--convert-to%20csv%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%84%20%EC%A7%80%EC%A0%95%ED%95%98%EC%84%B8%EC%9A%94..png)
다음 방법을 사용하여 Excel 파일을 CSV로 변환할 수 있습니다.
$ libreoffice --convert-to csv --headless --outdir dir file.xlsx
모든 것이 잘 작동하는 것 같습니다. 그런데 인코딩 설정에 이상한 점이 있습니다. UTF-8 mdash(—) 대신 LibreOffice Calc에서 수동으로 "다른 이름으로 저장"하면 \227(�)이 표시됩니다. 사용문서CSV의 내용에 "비ISO 확장 ASCII 텍스트, 줄 길이"가 표시됩니다. 따라서 두 가지 질문이 있습니다.
- 여기서 무슨 일이 일어나고 있는 걸까요?
- libreoffice에 UTF-8로 변환하도록 어떻게 지시합니까?
변환하려는 특정 파일은 다음과 같습니다.여기.
답변1
분명히 LibreOffice는 기본적으로 ISO-8859-1을 사용하려고 시도하므로 문제가 발생합니다.
이 버그 보고서에 응답하세요.--infilter
, 새로운 매개변수가 추가되었습니다. 다음 명령은U+2014 대시:
libreoffice --convert-to csv --infilter=CSV:44,34,76,1 --headless --outdir dir file.xlsx
저는 이것을 LO 5.0.3.2에서 테스트했습니다. 버그 보고서에 따르면 이 옵션이 포함된 최초 버전은 LO 4.4인 것으로 보입니다.
답변2
시도해 볼 수 있습니다.
$ libreoffice --convert-to \
> csv:"Text - txt - csv (StarCalc)":"44,34,0,1,,0" \
> --headless --outdir dir file.xlsx
여기, 매우 자세한 도움말이 있습니다.