首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件名中的rubyzip和unicode字符

文件名中的rubyzip和unicode字符
EN

Stack Overflow用户
提问于 2012-02-16 03:47:42
回答 3查看 888关注 0票数 1

我正在用unicode gem和Zip::ZipOutputStream类创建压缩归档文件,但遇到了rubyzip字母(西里尔字母)的问题-在归档文件中,它们像????? ???? ??.doc一样以问号的形式出现。rubyzip支持unicode吗?

EN

回答 3

Stack Overflow用户

发布于 2012-02-16 04:15:48

我研究了rubyzip方法,看起来rubyzip并不能改变语言。它可能使用您计算机的默认代码页。您可以使用chilkat zip,如this示例中所示,除非您有chilkat无法满足的特定需求。

票数 1
EN

Stack Overflow用户

发布于 2014-07-02 23:36:56

您可以使用以下代码片段将UTF-8转换为包含一些unicode字符(只有几个)的CP437。Windows 7和更早的版本假定文件名是用CP437编码的。

代码语言:javascript
复制
# first normalize the string
normalized_filename = input.mb_chars.normalize.to_s
# then encode in cp437
filename_for_zip = normalized_filename.encode("cp437")
# add file to zip
zipfile.add(filename_for_zip, pdf_file)
票数 0
EN

Stack Overflow用户

发布于 2018-04-05 21:05:13

你可以直接运行zip。

代码语言:javascript
复制
`cd yourfolder; zip archivename file1 file2`

请注意特定的引号。我在Ubuntu上为Cyrillic文件名工作,而rubyzip正在用不可读的文件名生成归档文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9300232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档