web-dev-qa-db-ja.com

圧縮ファイルの英語以外の名前のエンコードおよびデコードエラー

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のような名前に変更しない限り、ファイルを開くことはできません。

中国語名のディレクトリまたはファイルを作成できるのに、圧縮ファイルの中国語名で文字が正しく表示されないのはなぜだろうと思いましたか?

どうすればいいですか?

よろしくお願いします!

6
Tim

おそらく、グラフィカルアーカイブプログラムは中国語を理解していません。コマンドラインを使用してアーカイブを抽出してみてください。

  1. 端末 を開きます。
  2. ファイルを含むディレクトリに移動します。

    cd /path/to/directory/
    

    使用できます Tab ファイル名とディレクトリ名を完成させるキー。ダブルプレス Tab 複数のオプションがある場合に可能な補完のリストを取得します。

  3. unrarプログラムを実行して、filename.rarを解凍します。

    unrar x filename.rar
    

    ここでは、ファイル名にもタブ補完を使用できます。

  4. アーカイブの内容は、現在のディレクトリに表示されます。
6
Lekensteyn

ファイル名は、環境とは異なる文字エンコードを使用しているように見えます。文字ѧ(CYRILLIC SMALL LETTER LITTLE YUS)は、ほとんどの場合、中国語のファイル名の一部ではありません。

ファイルが作成されたオペレーティングシステムと言語設定に関する情報はありますか?中国語のファイル名をエンコードするのにどの文字エンコードが一般的か知っていますか?

ファイル名のエンコーディングがわかっている場合は、 convmv (デフォルトではインストールされません)を使用して、使用するエンコーディング(ほとんどの場合UTF-8)に変換できます。

3
Florian Diesch

これを試して:

unrar --enable-charset x $1
1
Dmitry Krivenko

キリル文字の名前を含むrarファイルでも同じ問題が発生しました。 unrarをそのまま再インストールすることで修正できました ここで推奨

$ Sudo apt-get remove rar
$ Sudo apt-get remove unrar
$ Sudo apt-get install unrar

デフォルトでは、オープンソースバージョンのrarおよびunrarユーティリティがUbuntuにインストールされていることがわかりました。「unrar 0.0.1 Copyright(C)2004 Ben Asselstine、Jeroen Dekkers」。このバージョンは非ASCIIシンボルをうまく処理しません。

unrarを再インストールした後、「制限付き」(独自のソフトウェア)リポジトリからインストールされた実際のバージョン(これはアップデート設定で有効にする必要があります):「UNRAR 5.40フリーウェアCopyright(c)1993-2016 Alexander Roshal」

このバージョンはUnicodeシンボルを処理しますが、少なくともキリル文字で動作しました。

Rar/unrarのオープンソースバージョンを削除すると、GUIソフトウェアの問題も修正されます。 Rar archive with Cyrillic letters

1
Vladimir L.