Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

{Q} Eudoraのファイル名の文字化け

46 views
Skip to first unread message

Yoshiaki FUYAMA

unread,
Jul 27, 2004, 4:24:28 AM7/27/04
to
Eudoraに関する質問ですが,グループが適切でないようでしたら,ご
容赦下さい。

eMac(G4;OS10.3.4)で,Eudora6J Jr3-rev3を使っているのですが,
奇妙な現象が起こります。日本語のSubjectのメールを「別名で保存」
すると,ダイアログボックスのファイル名はちゃんと日本語で表示さ
れるのですが,保存されたテキストファイルのファイル名が文字化け
します。

livedoorのサポートに尋ねても再現できず,原因不明ということです
し,同じソフトを使っている知人の場合も,こんな現象は起こらない
そうです。

AppleのサイトにあるFile Name Encoding Repairを使えば,ファイ
ル名は読めるようになるので,それほど実害はないのですが,仲間は
ずれにされたようでなんとなく気持ちが悪いので,お尋ねする次第で
す。

このような現象を経験された方,あるいは,原因にお心当たりのある
方がおられましたら,よろしくお願いいたします。

--
Yoshiaki FUYAMA
fuy...@cosmos.dti2.ne.jp

Masaya Oda

unread,
Jul 27, 2004, 2:30:44 PM7/27/04
to
In article <fuyamay-A013DE...@news.media.kyoto-u.ac.jp>,
Yoshiaki FUYAMA <fuy...@cosmos.dti2.ne.jp> wrote:

> れるのですが,保存されたテキストファイルのファイル名が文字化け
> します。

File Name Encoding Repairと同様の(というか、それよりも前から存在する)
UNi*fIXのドキュメントで文字化けする理由等が解説されています。

<http://www.yk.rim.or.jp/%7Eharakei/unifix.shtml>

MacOSX初期の頃からある問題で、環境以降で結構お世話になりました。
 >UNi*fIX

Yoshiaki FUYAMA

unread,
Jul 28, 2004, 4:55:05 AM7/28/04
to
In article <280720040330449416%ayas...@mac.com>,
Masaya Oda <ayas...@mac.com> wrote:

> File Name Encoding Repairと同様の(というか、それよりも前から存在する)
> UNi*fIXのドキュメントで文字化けする理由等が解説されています。
>
> <http://www.yk.rim.or.jp/%7Eharakei/unifix.shtml>

どうもありがとうございました。解説を読んでも,なぜうちのEudoraだけ
文字化けするのかよく理解できませんでしたが,いずれにせよ,OSの仕様
であることはわかりました。

--
Yoshiaki FUYAMA
fuy...@cosmos.dti2.ne.jp

Yasushi Shinjo

unread,
Jul 29, 2004, 12:03:56 AM7/29/04
to
新城@筑波大学情報です。こんにちは。

In article <280720040330449416%ayas...@mac.com>


Masaya Oda <ayas...@mac.com> writes:
> File Name Encoding Repairと同様の(というか、それよりも前から存在する)
> UNi*fIXのドキュメントで文字化けする理由等が解説されています。
> <http://www.yk.rim.or.jp/%7Eharakei/unifix.shtml>

UNi*fIXは、漢字コード Shift-JIS のファイル名をUnicode に変換
するものですね。類似のソフトウェアで Shift-JIS ではなくて、
JIS (MIME header で iso-2022jp ) に対応できるようなものはあ
りませんか。

uudeview で添付ファイルを解くと MIME Header の
=?iso-2022-jp?B? でファイル名が出来てしまうことがあります。
しょうがないので、端末で ls | nkf して、コピー&ペーストで
復活させています。

たぶん、uudeview は、Unicode で保存するように修正すればいい
んだと思います。どこかにそういうパッチありませんか。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

IIJIMA Hiromitsu

unread,
Jul 29, 2004, 12:18:21 AM7/29/04
to
いいじまです。

> uudeview で添付ファイルを解くと MIME Header の
> =?iso-2022-jp?B? でファイル名が出来てしまうことがあります。
> しょうがないので、端末で ls | nkf して、コピー&ペーストで
> 復活させています。
>
> たぶん、uudeview は、Unicode で保存するように修正すればいい
> んだと思います。どこかにそういうパッチありませんか。

uudeview に手を入れるくらいなら、Perl のモジュールを駆使してスクラッチから
作り直したほうがいいように思います。

でも、今回はシェルスクリプトでいいのでは。

$ cat ./decode-fname.csh
#/bin/csh
if (-x /Developer/Tools/MvMac) alias mv /Developer/Tools/MvMac
foreach f ($*)
mv '$f' "`echo '$f' | nkf -mJwx`"
end

$ ./decode-fname.csh =?iso-2022-jp*

========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp

───【宣伝/ADVERTISEMENT】──────────────────────
fj.os.ms-windows 新設の可否を問う投票採決(CFV)中です。
※投票期限は 8/15 です。詳しくは fj.news.group.comp へ。※
────────────────────────────────────

Yasushi Shinjo

unread,
Jul 29, 2004, 2:38:00 AM7/29/04
to
In article <41087A8D...@ht.sakura.ne.jp>
IIJIMA Hiromitsu <delm...@ht.sakura.ne.jp> writes:
> でも、今回はシェルスクリプトでいいのでは。

> #/bin/csh
> if (-x /Developer/Tools/MvMac) alias mv /Developer/Tools/MvMac
> foreach f ($*)
> mv '$f' "`echo '$f' | nkf -mJwx`"
> end

ありがとうございます。しか、うちの nkf には、-m はありますが、
-mJwx というオプションがありません。これは、何でしょうか。
iconv か何かで代用できますか。

あと、「がぎぐげご」のような濁点を含んだ場合も扱えますか?
MacOSX だと、このようなばあい「か゛き゛く゛け゛こ゛」のよう
に分解していたと思いました。

IIJIMA Hiromitsu

unread,
Jul 29, 2004, 3:26:29 AM7/29/04
to
いいじまです。

> > #/bin/csh
> > if (-x /Developer/Tools/MvMac) alias mv /Developer/Tools/MvMac
> > foreach f ($*)
> > mv '$f' "`echo '$f' | nkf -mJwx`"
> > end
>
> ありがとうございます。しか、うちの nkf には、-m はありますが、
> -mJwx というオプションがありません。これは、何でしょうか。

-m -J -w -x と同等です。-m は MIME デコード、-J は入力に JIS コードを仮定、
-w は UTF-8 で出力、-x は半角カタカナを全角にしない、です。

それからもうひとつ訂正。
'$f' とシングルクォートでくくってはいけませんね _| ̄|○


mv "$f" "`echo '$f' | nkf -mJwx`"

です。

> あと、「がぎぐげご」のような濁点を含んだ場合も扱えますか?
> MacOSX だと、このようなばあい「か゛き゛く゛け゛こ゛」のよう
> に分解していたと思いました。

Mac はそういう問題もありましたね。
申し訳ありません、実際にやってみないと分かりません。

もしダメなら、該当部分を
"`echo '$f' | nkf -m -J -s -x | iconv -f cp932 -t utf-8`"
とすれば、たぶんうまくいくと思います。

#iconv の -f で指定するエンコーディング、どれにするか悩ましいです。
# cp932 → Windows の丸数字でエラーにならない。ただし、UTF-8
# とのマッピングルールとして MS のものを使うことになる
# shift_jis → 丸数字不可、'\' と '~' の変換に問題あり
# shift_jisx0213 → 丸数字OK、'~' に問題あり
# euc-jp → 丸数字不可、'¥' に問題あり
# euc-jisx0213 → 丸数字OK、'¥' に問題あり

もうひとつ、FAT フォーマットされたフラッシュメモリを MacOS X と Windows
の両方で扱っている限りでは何も問題は起きていない(VFAT の場合、ファイル
名は UCS-16LE で記録されています)ということも申し添えておきます。

Shinji KONO

unread,
Jul 29, 2004, 3:38:38 AM7/29/04
to
河野真治 @ 琉球大学情報工学です。

In article <4108A6A5...@ht.sakura.ne.jp>, IIJIMA Hiromitsu <delm...@ht.sakura.ne.jp> writes


> > あと、「がぎぐげご」のような濁点を含んだ場合も扱えますか?
> > MacOSX だと、このようなばあい「か゛き゛く゛け゛こ゛」のよう
> > に分解していたと思いました。
> Mac はそういう問題もありましたね。

そういう問題があるのは認識しているんだけど、直してないです。

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科

IKEDA Kenji

unread,
Jul 29, 2004, 3:40:09 AM7/29/04
to
On Thu, 29 Jul 2004 16:26:29 +0900,
In article <4108A6A5...@ht.sakura.ne.jp>,
IIJIMA Hiromitsu <delm...@ht.sakura.ne.jp> wrote:

> それからもうひとつ訂正。
> '$f' とシングルクォートでくくってはいけませんね _| ̄|○

ダブルクォートでは括る必要があるのですか?

--
池田研二 稲城駅前在住

NIDE Naoyuki

unread,
Jul 29, 2004, 4:16:18 AM7/29/04
to
In article <4108A6A5...@ht.sakura.ne.jp>,

delm...@ht.sakura.ne.jp writes:
> '$f' とシングルクォートでくくってはいけませんね _| ̄|○
> mv "$f" "`echo '$f' | nkf -mJwx`"

"` `"の中の$fは' '囲みでいいのかな? …と思ってやってみると、bashでは
だめだけど、cshだと一応大丈夫なんですね。
ただ、$fに「'」が含まれているとだめですね。$fに「'」やら空白やらが含ま
れていても大丈夫なようにするには、cshだとどう書けばいいのかな… sh系なら
単に`echo "$f" |…`で大丈夫みたいですが。
ni...@ics.nara-wu.ac.jp

IKEDA Kenji

unread,
Jul 29, 2004, 4:26:16 AM7/29/04
to
On Thu, 29 Jul 2004 08:16:18 GMT,
In article <0407291716...@hayabusa.ics.nara-wu.ac.jp>,
ni...@ics.nara-wu.ac.jp (NIDE Naoyuki) wrote:

> ただ、$fに「'」が含まれているとだめですね。

ほんとだ。変数を展開したあと、もう一回 parse してるのかな? なんかスゴイ。

--
池田研二 稲城駅前在住

NIDE Naoyuki

unread,
Jul 29, 2004, 4:28:19 AM7/29/04
to
In article <86fz7bq...@poe.mob.or.jp>,
noro...@mob.or.jp writes:
> ダブルクォートでは括る必要があるのですか?

$fに空白なんかが入っていると、ダブルクォートなしではまずいのではないで
すか。ファイル名に空白が混じる場合はあり得ますから。

…と書いたけど、実は空白入りファイル名が混じっていると$*の展開ですでに
まずくて、空白で切られた断片が$fに入ってしまいますね。「*」なんかが入っ
ているファイル名の場合もまずいし。

私ならcshなんか使わずにこう書くかな。

#/bin/sh
MV=mv
if [ -x /Developer/Tools/MvMac ]; then
MV=/Developer/Tools/MvMac
fi
for f in "$@"; do
$MV "$f" "`echo \"$f\" | nkf -mJwx`"
done

# 先の投稿では mv "$f" `echo "$f" | nkf -mJwx`だけでいいように書いたけど、
# 実際は、$fに空白が連続して現れる可能性などを考えると、上のように書かねば
# ならないみたいですね…
ni...@ics.nara-wu.ac.jp

IKEDA Kenji

unread,
Jul 29, 2004, 4:41:03 AM7/29/04
to
On Thu, 29 Jul 2004 08:28:19 GMT,
In article <0407291728...@hayabusa.ics.nara-wu.ac.jp>,
ni...@ics.nara-wu.ac.jp (NIDE Naoyuki) wrote:

> $fに空白なんかが入っていると、ダブルクォートなしではまずいのではないで
> すか。ファイル名に空白が混じる場合はあり得ますから。

foreach f ($*) をやっている時点で、空白で分離されているので、
$f に空白が入る余地はないような…

--
池田研二 稲城駅前在住

IIJIMA Hiromitsu

unread,
Jul 29, 2004, 4:44:39 AM7/29/04
to
いいじまです。shells 送り。

> > '$f' とシングルクォートでくくってはいけませんね _| ̄|○
> > mv "$f" "`echo '$f' | nkf -mJwx`"
>
> "` `"の中の$fは' '囲みでいいのかな? …と思ってやってみると、bashでは
> だめだけど、cshだと一応大丈夫なんですね。

\"$f\" というのを手元の FreeBSD で試したんですが、それがどうも上手くいか
ないようなので、苦肉の策で ' ' にしました。` ` の存在を無視して $f を展開
して、それから ` ` の中身を実行するようです。

> ただ、$fに「'」が含まれているとだめですね。$fに「'」やら空白やらが含ま
> れていても大丈夫なようにするには、cshだとどう書けばいいのかな… sh系なら
> 単に`echo "$f" |…`で大丈夫みたいですが。

ファイル名に " や \ が入っている可能性はほぼ考えなくていいので、sh 系の
ほうが無難ですね。そもそも csh 系でスクリプトは一切書くな、と主張する人
も世の中にはいらっしゃいますし。

0 new messages