我有一个rar文件,解压后生成一个中文文件,在Nautilus中显示为:
��������ѧ.������.����������ѧ������.2008.djvu(无效编码)
在终端中显示为:
<BD><FC><B4><FA><D7><E9><BA><CF>ѧ.<CD><F5><CC><EC><C3><F7>.<B4><F3><C1><AC><C0><U+DE64><B4><F3>ѧ<B3><F6><B0><E6><C9><E7>.2008.djvu
unrar 列出的 rar 文件内容是正确的:
$ unrar l 近代组合学.王天明.大连理工大学出版 社.2008.rar
UNRAR 3.93 freeware Copyright (c) 1993-2010 Alexander Roshal
Archive 近代组合学.王天明.大连理工大学出版社.2008.rar
Name Size Packed Ratio Date Time Attr CRC Meth Ver
-------------------------------------------------------------------------------
近代组合学.王天明.大连理工大学出版社.2008.djvu 6190416 6187189 99% 03-06-11 10:33 .....A. 98320D40 m3g 2.9
-------------------------------------------------------------------------------
1 6190416 6187189 99%
除非我将其名称更改为 1.djvu 之类的名称,否则无法打开该文件。
为什么我可以创建中文名的目录或文件,但是压缩文件的中文名显示不正常呢?
我该怎么办呢?
感谢致敬!
答案1
图形存档程序可能不支持中文。请尝试使用命令行提取存档:
- 打开终端。
导航到包含该文件的目录:
cd /path/to/directory/
您可以使用该键来补全文件名和目录名。如果有多个选项,Tab请双击以获取可能的补全列表。Tab
运行
unrar
程序进行解压filename.rar
:unrar x filename.rar
这里,您也可以使用制表符补全来输入文件名。
- 档案的内容将在当前目录中可见。
答案2
我也遇到了同样的问题,因为 rar 文件的名称中包含西里尔字母。我可以通过重新安装来解决这个问题unrar
它建议在这里:
$ sudo apt-get remove rar
$ sudo apt-get remove unrar
$ sudo apt-get install unrar
事实证明,Ubuntu 默认安装了开源版本的rar
&unrar
实用程序:“unrar 0.0.1 Copyright (C) 2004 Ben Asselstine, Jeroen Dekkers”。此版本不能很好地处理非 ASCII 符号。
重新安装后,unrar
从“受限”(专有软件)存储库安装其实际版本(请注意,这应该在更新设置中启用):“UNRAR 5.40 免费软件版权所有 (c) 1993-2016 Alexander Roshal”
此版本可处理 Unicode 符号,至少对我来说,它可以处理西里尔字母。
请注意,删除 rar/unrar 的开源版本也会修复 GUI 软件的一个问题:
答案3
文件名使用的字符编码似乎与您的环境不同。字符 ѧ(西里尔小写字母)很可能不是中文文件名的一部分。
您是否有关于创建该文件的操作系统和语言设置的任何信息?您知道哪些字符编码常用于对中文文件名进行编码吗?
如果你知道文件名的编码,你可以使用康维(默认情况下未安装)将其转换为您使用的编码(最有可能是 UTF-8)。
答案4
尝试这个:
unrar --enable-charset x $1