From owner-freebsd-users-jp@freebsd.org Sun Nov 12 09:13:21 2017 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5449EE6D34E for ; Sun, 12 Nov 2017 09:13:21 +0000 (UTC) (envelope-from maruyama@ism.ac.jp) Received: from brahman.ism.ac.jp (brahman.ism.ac.jp [133.58.120.104]) by mx1.freebsd.org (Postfix) with ESMTP id 0C6031C7F for ; Sun, 12 Nov 2017 09:13:20 +0000 (UTC) (envelope-from maruyama@ism.ac.jp) Received: from samanta.ism.ac.jp (brahman [133.58.120.104]) by brahman.ism.ac.jp (8.15.2/8.15.2) with ESMTPS id vAC9DIKC003886 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 12 Nov 2017 18:13:18 +0900 (JST) (envelope-from maruyama@ism.ac.jp) Received: (from maruyama@localhost) by samanta.ism.ac.jp (8.15.2/8.15.2/Submit) id vAC9DIst012652; Sun, 12 Nov 2017 18:13:18 +0900 (JST) (envelope-from maruyama@ism.ac.jp) X-Authentication-Warning: samanta.ism.ac.jp: maruyama set sender to maruyama@ism.ac.jp using -f From: maruyama@ism.ac.jp (=?iso-2022-jp?B?GyRCNF07M0Q+PjsbKEI=?=) To: freebsd-users-jp@freebsd.org In-Reply-To: (message from Hajimu UMEMOTO on Sun, 12 Nov 2017 15:51:59 +0900) Organization: =?iso-2022-jp?B?GyRCRX03Vz90TX04JjVmPWobKEI=?= Reply-To: maruyama@ism.ac.jp Date: Sun, 12 Nov 2017 18:13:18 +0900 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Subject: [FreeBSD-users-jp 96157] Re: =?iso-2022-jp?b?emlwGyRCJSIhPCUrJSQlVkNmJE5GfEtcOGwlVSUhGyhC?= =?iso-2022-jp?b?GyRCJSQlaxsoQg==?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Nov 2017 09:13:21 -0000 丸山です。 やはり梅本さんのご指摘が正解でした。 ports で make するとメニューが現れてオプションを聞いてきますが、ここで ICONV を on にしてインストールすると、出来上がった unzip では [root@samanta{1044}] /usr/ports/archivers/unzip# pkg info unzip unzip-6.0_6 Name : unzip Version : 6.0_6 Installed on : Sun Nov 12 17:03:38 2017 JST Origin : archivers/unzip Architecture : freebsd:10:x86:64 Prefix : /usr/local Categories : archivers Licenses : Info-ZIP Maintainer : ehaupt@FreeBSD.org WWW : http://www.info-zip.org/UnZip.html Comment : List, test, and extract compressed files from a ZIP archive Options : CHINESE : off DOCS : on ICONV : on KOREAN : off RUSSIAN : off (以下略) になり、その unzip では unzip -O sjis -l xxx.zip | nkf -S -w とか、 unzip -O sjis xxx.zip で展開後 From: "IIJIMA Hiromitsu" Date: Sun, 12 Nov 2017 14:22:28 +0900 foreach f (*) set g=`echo -n "$f" | nkf -Sw` if ( "$f" ne "$g" ) then mv "$f" "$g" end などの手が使えます。要は 1. 配布されているパッケージでは ICONV が offとなっている 2. man unzip ではコンパイルオプションの ICONV にも -O オプションにも触れていない の二つ落とし穴がある、という纏めになります。-O オプションの説明は、 ICONV on でコンパイルした unzip では、パラメータ無しで起動したとき、 -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives -I CHARSET specify a character encoding for UNIX and other archives と表示されるのでわかりますが、それ以外の箇所には説明は見当たりません。梅 本さんのお教えがなければ、わかりませんでした。感謝。 Sun, 12 Nov 2017 15:51:59 +0900 Hajimu UMEMOTO writes: >梅本です。 > >>>> Sun, 12 Nov 2017 11:54:15 +0900 の刻に「maruyama」、すなわち >>>> 丸山直昌 氏曰く > >maruyama> るunzipを使って解凍してますが、日本語のファイル名のファイルは取り出すこ >maruyama> とはできても、ファイル名が復元できなくて、困ることがあります。(ファイル >maruyama> 名に重大な意味を込める人がいます。) > >ports/archivers/unzip を ICONV オプションを有効にして作リ、-Ocp932 あ >るいは -Osjis オプションを指定すれば行けると思います。 > >maruyama> ICONV : off > >残念ながら、デフォルトでは有効になっていないのですよね。 > >-- >梅本 肇 http://www.mahoroba.org/~ume/ >ume@mahoroba.org ume@FreeBSD.org >プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-) -------- 丸山直昌@統計数理研究所