项目中存在pdf文件打包的需求,由于文件名都是中文,结果下载的时候都是乱码
项目在linux下运行,打包下载的主要是给window提供
打包的代码很简单
Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|
zip.add("zip包中的显示的文件名(或者文件路径)","要打包的文件(路径)")
end
测试下载之后是乱码
我这里要打包的文件也是ruby生成的,他的编码格式是utf-8,下载到window上一般是gbk(我用gb2312测试是失败的)
需要把文件名称转码
Zip::ZipFile.open "zip文件名.zip", Zip::ZipFile::CREATE do |zip|
zip.add(Iconv.iconv("GBK//IGNORE", "UTF-8//IGNORE", "zip包中的显示的文件名或者文件路径"),"要打包的文件(路径)")
end
ruby2.0之后
"zip包中的显示的文件名或者文件路径".encode("GBK", :invalid => :replace, :undef => :replace, :replace => "?")
分享到:
相关推荐
标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...
在Ruby编程语言中,读取配置文件(如cfg文件)是一项常见的任务,这通常涉及到从文件中获取特定的键值对以供程序使用。在本篇文章中,我们将深入探讨如何在Ruby中有效地读取和处理cfg文件,以及如何根据指定的键来...
Ruby是一种动态且灵活的编程语言,它在处理各种文件格式时提供了丰富的库支持。当我们谈论“Ruby读取INI文件”时,我们指的是使用Ruby代码解析和操作INI配置文件。INI文件是一种简单的文本文件格式,常用于存储软件...
3. 编码问题:如果INI文件包含非ASCII字符,应确保使用正确的编码读取和写入,避免乱码问题。 4. 错误处理:在读写过程中,应考虑可能出现的异常情况,如文件不存在、权限问题等,使用适当的错误处理机制。 通过...
在处理文件时,可能会遇到权限问题或其他错误。因此,建议使用`begin-rescue-end`块来捕获并处理异常。 ```ruby begin File.open('example.txt', 'r') do |file| # 文件操作 end rescue Errno::ENOENT puts ...
Eclipse 中 RDT 开发 Ruby 应用程序中文乱码问题解决方案 在 Eclipse 中使用 RDT 开发 Ruby 应用程序时,经常会遇到中文乱码问题。这是因为 Eclipse 和 RDT 的默认编码格式不支持中文字符,导致中文字符显示不正确...
要使用ZipArchive压缩文件,首先需要导入相关的头文件: ```objc #import "ZipArchive/ZipArchive.h" ``` 接下来,你可以通过以下步骤压缩文件: ```objc NSString *srcPath = @"原始文件路径"; NSString *dstPath ...
ruby的库帮助文件,对于Ruby开发者应该必备的工具
在Ruby编程语言中,文件上传是一项常见的任务,特别是在构建Web应用程序时。本项目提供了一些实用的文件上传功能,包括控制器(controller)、视图(view)和数据库交互部分。以下是对这些知识点的详细解释: 1. **...
ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件
Ruby是一种面向对象、动态类型的脚本语言...如果你需要在Windows环境下使用Ruby,提供的“ruby-2.1.6”压缩包文件将包含所有必要的组件,包括Ruby解释器、标准库以及可能的开发工具,使得安装和使用Ruby变得更加简单。
Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8
标题中的"ruby 最新 安装文件"指的是Ruby的最新版本安装程序,这通常是针对特定操作系统的,比如在描述中提到的"ruby window 版本安装文件",是指适用于Windows平台的Ruby安装程序。RubyInstaller是为Windows用户...
- **"a"**:追加模式,所有写入的数据都会被添加到文件末尾,不会覆盖现有数据。 - **"r+"**:读写模式,可以在同一个文件对象上同时进行读写操作,文件必须已经存在。 - **"w+"**:读写模式,可以在同一个文件对象...
2. **解压**:使用解压缩工具(如WinRAR或7-Zip)打开并提取压缩包文件`ruby-2.1.0`。 3. **编译**:进入解压后的目录,使用`./configure`命令来配置安装环境,然后运行`make`进行编译。 4. **安装**:编译成功后...
ruby资源文件,ruby rdoc.gem文件,离线ruby文件包
ruby文件操作大全,主要是DIR,FILE和文件夹类的相关操作,比较实用
ruby对xml文件的解析,不是很全,应该还是有一定帮助的
在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...