繁体   English   中英

Java,Archives,Linux和Cyrillic

[英]Java, Archives, Linux & Cyrillic

我尝试在java中编写一个归档程序,创建TAR或ZIP档案,使用正确的西里尔文件名,然后在linux中打开。 在windows中我使用org.apache.tools.zip,来自ant:

ZipOutputStream.setEncoding("cp866"); 

得到它,但在linux中的文件滚动(存档管理器)不明白它。 在org.apache.tools.tar方法中,setEncoding()不存在。 此外,我尝试使用一些其他编码,支持西里尔语,如cp1251,utf-8,koi-8r,但它没有结果。

您的文件可能正在正确创建文件,问题出在文件路由器上。 众所周知,它无法检测文件名的编码。 看到这里这里

尝试直接从shell中使用解压缩 (文件名可能会出现乱码)或p7zip (还有一个java版本 - j7zip)。

7zip适用于我,使用西班牙语字符的utf8编码。 文件滚轮,Ark以及实际上执行解压缩的所有其他文件都会破坏我系统中的文件名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM