[ubuntu-jp:1563] Re: ZIPファイルを作成しWindowsで解凍するとファイル名が化ける
Nobuyuki Inaba
nobuyuki.inaba @ gmail.com
2009年 2月 2日 (月) 04:53:18 GMT
ありがとうございます。
convmv --r --notest -f utf8 -t cp932 [directory]
でうまく行くことを確認で来ました。
たすかりました。
ほんとたすかります。
2009/02/02 12:39 Ryosuke Takahashi <joker @ 2khz.net>:
> d.Jokerです
>
> 最初、localeでja_JP.sjisやらja_JP.cp932を作ってやればいけるんじゃないかと
> 思いましたがダメでした。
>
> zipを作る前にconvmvでファイル名の文字コードを変換する方法があるようです。
> Linux上で、Windows向けのzipファイルを作る
> http://www.ftnk.jp/~fumi/cl/2007-06-29-2.html
>
> $ convmv --r --notest -f utf8 -t cp932 [directory]
> $ zip -r [filename.zip] [directory]
>
> 解凍の際は
> $ LANG=ja_JP.UTF-8 unzip [filename.zip]
> とすることで、文字化けされずに解凍できました。
> # CGIではLANG=Cとなっているのではないでしょうか?
>
> その他、ZIPの文字化け関連はUbuntu日本語フォーラムにも投稿されています。
> http://forums.ubuntulinux.jp/viewtopic.php?id=3529
> など
>
>
> Nobuyuki Inaba さんは書きました:
>> ありがとうございます。
>>
>> 例えば、ファイル名が「あいうえお.txt」
>> の場合、
>>
>> zip test.zip あいうえお.txt
>>
>> とするところを
>> filename = filenema.decode('UTF-8').encode('cp932')
>> とどう組み合わせるかがわかりません。
>> これは、何かのプログラム言語をさすのでしょうか?
>>
>> それと、もう一つ問題がおきまして、
>> 「逆にWindowsで圧縮したのはUbuntuで解凍しても文字化けはおこりません。」
>> といいましたが、コマンドで手で
>> 「unzip test.zip」とやるとうまく行きますが、
>> Apache のcgiで組んでいるところでして、そのブログラム上から、
>> 「`unzip test.zip`」とやると
>> 「����������_ (無効なエンコーディング)」と言うようなファイル名になってしまいます。
>> なにかご存知ないでしょうか?
>>
>>
>> 2009/02/02 10:22 INADA Naoki <songofacandy @ gmail.com>:
>>> 稲田です。
>>>
>>> Zipだとファイル名のエンコーディングにUnicodeが使えるようになったのが最近で、
>>> まだ対応しているアーカイブソフトは殆どありません。
>>>
>>> 非Unicodeの場合、Windowsの伝統ではファイル名を MSーJIS(cp932) で保存して
>>> いるので、Linuxでzipを作成するときに日本語ファイル名を cp932 にエンコードしてやる
>>> 必要があります。
>>>
>>> filename = filenema.decode('UTF-8').encode('cp932')
>>>
>>> とされてみては如何でしょうか?
>>>
>>>
>
>
>
ubuntu-jp メーリングリストの案内