我有一个名为的文件foobarë
。当我尝试通过 Putty 在 Debian (稳定版) 上对其进行 7zip 压缩时,出现以下信息:
server:/tmp# 7za a test.7zip foobarë
7-Zip (A) 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU)
Scanning
foobarë: WARNING: No more files
Creating archive test.7zip
WARNINGS for files:
foobarë : No more files
----------------
WARNING: Cannot find 1 file
在此过程中的某个地方,foobarë
被转换为foobarë
。我该如何修复此问题?
/etc/locale.gen
我在 Debian 上的语言环境(至少是和的内容locale -a
)是en_US.UTF-8 UTF-8
。
答案1
确保 PuTTY 处于 UTF-8 模式。转到窗口 → 翻译, 在下面远程字符集选择UTF-8. 返回会议, 选择默认设置并点击节省。
答案2
您正在使用的 7-Zip 版本可能是旧版本,如果我没记错的话,在 9.04 左右有两个版本的 7-zip,一个使用标准字符集,另一个使用 Unicode。
当前版本7-zip是 9.20,你的好像是 9.04。你能更新一下再试吗?
p7zip(7-zip 的 Unix 端口)Sourceforge 页面上还有一个错误报告,声称自 9.13 以来已修复此问题,因此我再次建议尽可能更新到 9.20:Sourceforge 错误追踪
答案3
答案可能也在 Putty 中...Putty 本身(窗口->翻译)未设置为 UTF-8。我现在已经切换到 UTF-8,我的foobarë
文件现在有一个奇怪的名称,当我再次创建它时,7zip 可以正确压缩。