使用curl下载CSV文件出现乱码问题求助
解决curl下载CSV文件出现乱码/无法用Excel打开的问题
可能原因
- 该服务器返回的内容为gzip压缩格式,浏览器会自动识别并解压,但curl默认不会处理压缩数据,直接保存后就会出现乱码。
- 字符编码不匹配的概率较低(毕竟浏览器下载正常),优先排查压缩问题。
解决办法
方法1:让curl自动处理压缩
在curl命令中添加--compressed参数,它会自动识别服务器返回的压缩编码并解压:
curl --compressed --output /home/[你的用户名]/test2.csv https://cloudstor.aarnet.edu.au/plus/s/2DhnLGDdEECo4ys/download?path=%2FUNSW-NB15%20-%20CSV%20Files&files=UNSW-NB15_1.csv
注意:替换/home/[你的用户名]/为实际目标路径,避免使用../这类相对路径引发的路径错误。
方法2:手动检查并解压文件
如果方法1无效,先下载文件再手动验证处理:
- 临时下载文件:
curl --output temp_file https://cloudstor.aarnet.edu.au/plus/s/2DhnLGDdEECo4ys/download?path=%2FUNSW-NB15%20-%20CSV%20Files&files=UNSW-NB15_1.csv
- 检查文件类型:
file temp_file
若输出显示为gzip compressed data,执行解压:
gunzip temp_file
解压后将得到的文件重命名为test2.csv即可。
方法3:改用wget下载
wget默认会自动处理压缩内容,可直接尝试:
wget -O /home/[你的用户名]/test2.csv https://cloudstor.aarnet.edu.au/plus/s/2DhnLGDdEECo4ys/download?path=%2FUNSW-NB15%20-%20CSV%20Files&files=UNSW-NB15_1.csv
验证步骤
下载完成后,用以下命令查看文件前几行,确认无乱码:
head /home/[你的用户名]/test2.csv
内容正常的话,Excel即可正常打开该文件。
内容的提问来源于stack exchange,提问作者Los
相关产品推荐
相关产品推荐

