三里屯摇滚 发表于 2011-11-19 15:24

ruby添加压缩文件,乱码问题

ruby添加压缩文件,乱码问题




项目中存在pdf文件打包的需求,由于文件名都是中文,结果下载的时候都是乱码
项目在linux下运行,打包下载的主要是给window提供

打包的代码很简单

Ruby代码1.Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|   
2.zip.add("zip包中的显示的文件名(或者文件路径)","要打包的文件(路径)")   
3.end
Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|
zip.add("zip包中的显示的文件名(或者文件路径)","要打包的文件(路径)")
end测试下载之后是乱码
我这里要打包的文件也是ruby生成的,他的编码格式是utf-8,下载到window上一般是gbk(我用gb2312测试是失败的)

需要把文件名称转码

Ruby代码1.Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|   
2.zip.add(Iconv.iconv("GBK//IGNORE", "UTF-8//IGNORE", "zip包中的显示的文件名或者文件路径"),"要打包的文件(路径)")   
3.end
Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|
zip.add(Iconv.iconv("GBK//IGNORE", "UTF-8//IGNORE", "zip包中的显示的文件名或者文件路径"),"要打包的文件(路径)")
end
页: [1]
查看完整版本: ruby添加压缩文件,乱码问题