卷曲欧元符号
Curl Euro Symbol
我正在使用以下 curl 调用从远程服务器获取 csv 文件:
curl -H "Content-Type: text/csv; charset=utf-8" ftp://user:password@ftp.url.com:21/file.csv | iconv -f iso8859-1 -t utf-8 > tmp.csv
当我检查 tmp.csv 文件时,欧元符号 (€) 显示为 <80>
正在检查服务器上的 csv 文件,€ 显示正确,因此我认为在 curl 过程中有些地方编码不正确。
谷歌搜索建议在我的电话中添加 -H "Content-Type: text/csv; charset=utf-8" 或 iconv -f iso8859-1 -t utf-8 但这没有帮助。
帮助我 Whosebug 你是我唯一的希望。
附带问题,为什么 € 符号会导致很多编码问题?
我认为源文件包含字节 0x80
,它是 ISO-8859-1 中的控制字符和欧元符号 Windows 1252。
当您按照您的方式调用 iconv
时,使用 ISO-8859-1 作为输入编码,它会将字节 0x80
视为代码点 U+0080,编辑器要么不这样做' t 显示,显示为矩形,或者显示为<80>
.
您很可能需要 Windows 1252,它将字节 0x80
视为 U+20AC,即欧元符号:
curl ftp://user:password@ftp.url.com:21/file.csv | iconv -f cp1252 -t utf-8 > tmp.csv
顺便说一句,我删除的 header 指定了 请求 的类型,而不是 响应 的类型。并且请求为空。
我正在使用以下 curl 调用从远程服务器获取 csv 文件:
curl -H "Content-Type: text/csv; charset=utf-8" ftp://user:password@ftp.url.com:21/file.csv | iconv -f iso8859-1 -t utf-8 > tmp.csv
当我检查 tmp.csv 文件时,欧元符号 (€) 显示为 <80>
正在检查服务器上的 csv 文件,€ 显示正确,因此我认为在 curl 过程中有些地方编码不正确。
谷歌搜索建议在我的电话中添加 -H "Content-Type: text/csv; charset=utf-8" 或 iconv -f iso8859-1 -t utf-8 但这没有帮助。
帮助我 Whosebug 你是我唯一的希望。
附带问题,为什么 € 符号会导致很多编码问题?
我认为源文件包含字节 0x80
,它是 ISO-8859-1 中的控制字符和欧元符号 Windows 1252。
当您按照您的方式调用 iconv
时,使用 ISO-8859-1 作为输入编码,它会将字节 0x80
视为代码点 U+0080,编辑器要么不这样做' t 显示,显示为矩形,或者显示为<80>
.
您很可能需要 Windows 1252,它将字节 0x80
视为 U+20AC,即欧元符号:
curl ftp://user:password@ftp.url.com:21/file.csv | iconv -f cp1252 -t utf-8 > tmp.csv
顺便说一句,我删除的 header 指定了 请求 的类型,而不是 响应 的类型。并且请求为空。