none
UnProtect-RMSFileコマンドによるZIPファイル解除で文字化けする

    質問

  • RMSで保護されたZIPファイルを、UnProtect-RMSFileコマンドを利用して保護解除処理して、

    ZIPファイルを解凍すると、ZIPファイルの中のファイルが文字化けする事象が発生します。

    文字化けするのはファイル名のみです。ファイルの中身は問題ありません。

    RMS共有アプリを利用してZIPファイルを保護⇒保護解除した場合は文字化けしません。

    対処方法をご存知の方はいらっしゃいますでしょうか?

    よろしくお願い致します。


    • 編集済み dtsccm 2017年3月15日 6:02
    2017年3月15日 5:23

回答

  • チャブーンです。

    この件ですが、念のため確認ですが、ファイル名についてはunicodeで書かれた日本語、ということですよね。で、OSは日本語版であると。(英語版の場合環境が変わるため文字化けが発生する可能性があるかもしれません)

    探した限りでは、お役に立てそうな情報はないようなので、無償ベースでがんばるならPowerShellフォーラム(英語)に問い合わせるぐらいしか方法はないように思います。(本来のフィードバックはuservoice.comですが、バグはフォーラムに聞けとかいてあるようなので)

    確実に解決されたい場合、有償サポートに依頼するしかないように思います。文字化けは英語圏の利用者(開発者)には問題が伝わりにくく、必要な情報はかなり得にくいと理解しています。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク dtsccm 2017年3月23日 8:11
    2017年3月21日 5:54

すべての返信

  • 以下のような感じです。対処方法をご存知の方はよろしくお願いいたします。

    PS C:\Users\rms-admin> UnProtect-RMSFile -File "C:\Users\rms-admin\Desktop\テストフォルダ.zip.pfile" -Verbose -Inplace
    詳細: File =  C:\Users\rms-admin\Desktop\テストフォルダ.zip.pfile
    詳細: InPlace flag enabled
    詳細: Starting 2.0.0.0 Version : 2017-03-17 07:23:35Z
    詳細: Calling IpcfIsFileEncrypted (テストフォルダ.zip.pfile)
    詳細: IpcfIsFileEncrypted successful (テストフォルダ.zip.pfile:[Protected (Generic)])
    詳細: Decrypting : テストフォルダ.zip.pfile--テストフォルダ.zip.pfile
    詳細: Extracting : テストフォルダ.zip.pfile--テストフォルダ.zip
    詳細: Calling IpcfIsFileEncrypted (テストフォルダ.zip)
    詳細: IpcfIsFileEncrypted successful (テストフォルダ.zip:[Unprotected])
    詳細: Extracting : TEST02.ptxt--TEST02.ptxt
    詳細: Calling IpcfIsFileEncrypted (TEST02.ptxt)
    詳細: IpcfIsFileEncrypted successful (TEST02.ptxt:[Protected (Generic)])
    詳細: Decrypting : TEST02.ptxt--TEST02.ptxt
    詳細: Extracting : �ی�e�X�g.docx--�ی�e�X�g.docx
    詳細: Calling IpcfIsFileEncrypted (�ی�e�X�g.docx)
    詳細: IpcfIsFileEncrypted successful (�ی�e�X�g.docx:[Unprotected])
    詳細: Extracting : �ی�e�X�g.pdf--�ی�e�X�g.pdf
    詳細: Calling IpcfIsFileEncrypted (�ی�e�X�g.pdf)
    詳細: IpcfIsFileEncrypted successful (�ی�e�X�g.pdf:[Unprotected])
    詳細: Packaging : テストフォルダ.zip
    詳細: Id: 1, Type: ArchiveContainer, Description: テストフォルダ.zip.pfile, Location: テストフォルダ.zip.pfile
    詳細: Id: 2, Type: FileLeaf, Description: TEST02.ptxt, Location: テストフォルダ.zip.pfile/TEST02.ptxt
    詳細: Id: 3, Type: FileLeaf, Description: �ی�e�X�g.docx, Location: テストフォルダ.zip.pfile/�ی�e�X�g.docx
    詳細: Id: 4, Type: FileLeaf, Description: �ی�e�X�g.pdf, Location: テストフォルダ.zip.pfile/�ی�e�X�g.pdf

    InputFile                                           DecryptedFile
    ---------                                           -------------
    C:\Users\rms-admin\Desktop\テストフォルダ.zip.pfile C:\Users\rms-admin\Desktop\テストフォルダ.zip
    2017年3月17日 7:26
  • いろいろ調べてみたのですが、UnProtect-RMSFile コマンドのバグではないかと考えています。
    現状、対応方法がなさそうなら、モジュールのバージョンアップを待つしかないのでしょうか。。。
    2017年3月20日 23:48
  • チャブーンです。

    この件ですが、念のため確認ですが、ファイル名についてはunicodeで書かれた日本語、ということですよね。で、OSは日本語版であると。(英語版の場合環境が変わるため文字化けが発生する可能性があるかもしれません)

    探した限りでは、お役に立てそうな情報はないようなので、無償ベースでがんばるならPowerShellフォーラム(英語)に問い合わせるぐらいしか方法はないように思います。(本来のフィードバックはuservoice.comですが、バグはフォーラムに聞けとかいてあるようなので)

    確実に解決されたい場合、有償サポートに依頼するしかないように思います。文字化けは英語圏の利用者(開発者)には問題が伝わりにくく、必要な情報はかなり得にくいと理解しています。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク dtsccm 2017年3月23日 8:11
    2017年3月21日 5:54
  • もともとZIPファイル中に記載されうファイル名の文字コードは、UTF-8だったりCP932だったり(そのほかのエンコーディングだったりして)、多様で、しかも割と最近まで決定的ではありませんでした。
    「日本語をLocaleにされているのでZIPのファイル名もCP932なのかな」みたいな仮定が行われているのが実情です。
    Zipの6.3からは「ファイル名がUTF-8で記載されてる」というヘッダ(フィールド)が追加されてるので、ZIPファイルを作る際に、そういうZIPファイルになっているのか、というのがキモの気がします。

    ま、一番簡単なのはZIPの中にはASCIIなファイル名しか入れない、というものだと思いますが。


    jzkey

    2017年3月21日 14:27
  • 返信ありがとうございます。
    ファイル名はunicodeで書かれた日本語、OSは日本版です。
    やはり難しそうな感じですね。
    お客様には説明して理解してもらうしかないかと思っています。
    ありがとうございました。
    2017年3月23日 8:11
  • dtsccm さま よろしく。

    既に回答マークが付いていますし、根本的な解決案ではないのですが。

    ファイル名のみが化けて、内容は問題なしとの事ですので、 暫定的に、
    ASCII の仮称で Rename する(置換と復号と双方)バッチファイルを作成し、
    これを ZIP に含めては如何ですか?。
    勿論、ZIP には ASCII 置換したファイル名で格納します。

    元ファイル名は配列に取得し、その index で命名し、バッチファイル自体を自動生成させれば、処理し易いでしょう

    • 編集済み ShiroYuki_Mot 2017年3月23日 9:51 冒頭のあいさつを追記
    2017年3月23日 9:50