[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00369] Re: 日本語文字コード(UTF8)環境での動作について



>Zaurus の場合は起動時に UTF-8 を使うということが確定されておらず、/etc/fd2rc 
>なり ~/.fd2rc なりで FNAMEKCODE=utf8 と指定された時点で確定する訳です。
>どのタイミングで UTF-8 だと認識出来るかが鍵になってきますね。

 んと、ロケール(LC_*、LANG、LANGUAGE)を用いるんでは駄目でしょうか。

 いや、まだまだロケール自体、一般化してるとは言えませんので、これらの環境変数
=ロケールが設定されていない場合もあるかと思います。実際、zaurusのデフォルトで
も LANG=jaとしか設定されていませんし。

 また、ロケールの設定と対象となる文字コードが一致するとも限らない訳で、そうい
う意味では、どのみち動的な判定は必要になるかもしれません。
 ただ、少なくともシステムのデフォルトを設定した際、それに合わせられるに越した
ことも無いかな?とも思いますので・・・。


>何故なら「引数」が filenameだというのは単に操作者の頭の中だけにある事象であっ
>て、それをshell 側で知る術はないのです。

 あ、確かに言われてみればそうですね。
 なまじっか、普段の FDがファイルを引数としたランチャ的な使用が多く、またコマ
ンド名からして EXECUTEってことで、すっかり固定観念にとらわれてました(^^;)。


># 本当に UTF-8 しか使わないならば、FNAMEKCODE だけではなく
>#LANGUAGE や INPUTKCODE も UTF-8 にしてしまうことでこの現象
>#は回避出来る筈ですが、

 そのへんも試してはみたんですが、なんか特定条件で EUCでコードが渡っちゃ
う時があるみたいなんです。

 えーと、以下のような実験を行ってみました。
 環境は、以下の通りです。

------------------------------------------------------------------------------
   使用機種 : SL-C760
  ターミナル : qpe-embeddedkonsole-ja_1.6.0-jinput3_arm.ipk
    FD Ver. : 2.06c
------------------------------------------------------------------------------
    1.ターミナルの Charsetを UTF-8に設定。

    2./etc/fd2rcの内容を修正
         LANGUAGE=utf8
       INPUTKCODE=utf8
       FNAMEKCODE=utf8

    3.FD 起動

    4.EXECUTE_SH(h)でコマンドを実行
      $ echo "Test Arguments" > ./日本語ファイル    # 作成成功

    5.再度EXECUTE_SH(h)でコマンドを実行
      $ cat "./日本語ファイル"                      # エラー。読み込み不可。

    6.再度EXECUTE_SH(h)でコマンドを実行
      $ cat "./日本語ファイル" 2> ./error.txt       # 標準エラー出力を記録。

------------------------------------------------------------------------------

 大体こんな感じです。
 見ての通り、UTF-8なコードが全く通らないと言う訳ではないんですね。
 echoを使ってリダイレクトしたり、mkdir、touchなどで UTF-8な日本語名のファイル
やディレクトリの作成は正常に行えます。

 ただ、そのファイルを内蔵シェル上で参照しようとすると、そこで躓きます。
 最後に記録したエラー出力の内容を確認した限りでは、どうもこのパターンの時に文
字コードが EUCで渡ってるようなんです。

 このへん FNAMEKCODEの適用範囲が今一つこちらで把握しきれてないんで、もしかし
たら仕様なのかもしれませんが・・・。


>UTF-8 を吐く IME って Zaurus で使えましたっけ?

 んと、上記実験を行えたように、 zaurusで UTF-8を吐く IMEは一応存在します。
 と言うか、もっと正確に言うと使用するターミナルに依存します。

 このへんになると、どちらかと言うと zaurusに特化したお話になっちゃいますね。
 良い機会なんで、下記のページにて zaurusの日本語文字コードの取り扱いをまとめ
てみました。よろしければ、ご参照下さい。

 URL> http://www.areanine.gr.jp/~nyano/multibyte.html


>巻末に 2.06c に対する patch を添付しますので試してみて下さい。

 有難うございます。
 折を見て、是非試させて頂きます。


                            TAKETYON こと 武貞一三