« 2006年6月4日 - 2006年6月10日 | トップページ | 2006年9月10日 - 2006年9月16日 »

2006年9月 7日 (木)

emacsでUTF-8を使う、でも安易にLANGをUTF-8にしたらアカンよ

仕事でPHPを使ってましたが、やっぱりhtmlの中にプログラムを書く(逆か?)というのにどうしてもなじめず、久しぶりにperlにもどりました。
昔はperlで日本語処理するときはjperlなんていうのを入れてましたが、Perl5.6からは内部的な文字列の表現がUTF-8に変更されたとのこと。やっぱり時代はUnicodeですね。思えば日本のプログラマはアマからプロまで、長年にわたり日本語の文字コードに多大な労力を強いられて来たわけです。
時は来たりというわけで、今後は私もUTF-8で生きていこうと決意したのでした。

でも今のVine Linuxのemacs(21.3.1)は、少なくとも私の環境ではUTF-8使えないんですよね。ctrl-x-ret-fとやるとutf-8-unixとかはあるのですが、UTF-8でセーブはできない様子。調べてみると、Mule-UCSというのが必要とのこと、これは apt-get install Mule-UCS で簡単にインストールできます。でも私の環境ではこれをインストールしただけではダメで、~/.emacs.my.elに
           (require 'un-define)
を加える必要があります。このあたりは、              http://www.jagat.or.jp/sgml/emacs/muleucs.htm
などに解説があります。
それから、UTF-8のファイルをlessで開くと文字化けしますが、lvという多言語対応ファイルビュウワーを使うとばっちりです。lvはコード変換にも使えるというすぐれものです。
というわけで、perlのコードをUTF-8で書く準備はできました。
(実際はEclipseのEPICを使ってるのでemacsをいじる必要など無かったのですが)

ところが、use utf8; をやっても、日本語の入った正規表現はうまくマッチしない感じ。私が間違ってるのだろうけれど、perlでUTF-8を使うというのはどうもそう簡単なこっちゃないようです。このあたりは、
   http://www.pure.ne.jp/~learner/program/Perl_unicode.html
とか
   http://www.hikoboshi.org/~altair/archives/perl_with_ja.html
で解説してくださっているのですが、色々奥が深いんですね。

それから、昔のperlではCGIなんかで日本語の文字コード変換する場合にJcode.pmというモジュールを使っていましたが、perl5.8ではEncode.plというコード変換モジュールが標準になっています。ところが、これ、使ってみたところコードの判別がやっかいだしうまくゆかないし、上の解説を見るとこれも利用にコツがいる感じで、結局Jcodeをインストールすることになりました。やれやれ

さて、UTF-8でperlスクリプトを書くと、printなどの出力も当然UTF-8になります。Vineの標準ロケールはEUC-JPですから、GNOME端末で出力を表示しようとする場合は、UTF-8に切替える必要があります。これが面倒くさい。
Unicode宣言した以上、徹底してやってやろうということで、何にも考えず~/.bash_profileに
     export LANG=ja_JP.utf8
を書きました。これでこれからは私もUnicodeの世界の人間だ!

ところが、これにより色々と破綻を生じました。まずThunderbird。メールフォルダに漢字の名前などがあると、新しく文字化けしたフォルダがじゃんじゃんできちゃいます。そして、これが起動する毎に増えたりします。そして、これがまたThunderbirdの中での操作では消せなかったりします。結局、Mail boxで直接 rm -i するはめになりました。理由はわかりませんが、ロケールだけ変えたって、日本語のファイル名なんかはEUC-JPのままですからこういうことが起こるんでしょうか。

というわけで、今後何が起こるかわからないという恐怖を漢字感じ、さっさとEUC-JPの世界に逃げ帰った次第です。      ja_JP.utf8は新天地ではなくお化け屋敷だった。
Unicodeへの道はまだ遠いようで。間もなくリリースとの噂のVine4.0ではこのへんの簡単移行ツールとかないんでしょうか。

| | コメント (0) | トラックバック (0)

おひさしぶりです、ゆきです

夏休みも終わりましたね。    JRTの私には関係ないんだけど。

夏休みは山中湖に行ってきました。


P8130959s_1 P8130960s_1 P8140963s
P8140965s_1






リード無しで走り回るのは生まれて始めて。お父さんたちは心配そうだったけど。
プールで水泳もしたんだよ、本当はわたしあまり気は進まなかったけど。

P8120956s

知らないホテルの部屋で泊まるのも始めて。
やっぱりちょっと怖かった。



P8140974s帰りの車の中ではもうぐったり。

何かとっても疲れた感じ。



それから、ドッグランにもはじめて行きました。

P8160979s P8160980s

まず、お互いお尻の匂いを確かめてからね。




八月は何か色々あったけど、わたしずいぶん大人になりました。
トリミングに行ったとき、「こんなにいい子のJRT、はじめてです」って
店の人に褒められたんだぞ!
ついでだけど、お父さん、週末以外にも生餌入りご飯ちょうだい!
でも、野菜入りのやつはパスだからね。

                                by YUKI

| | コメント (0) | トラックバック (0)

« 2006年6月4日 - 2006年6月10日 | トップページ | 2006年9月10日 - 2006年9月16日 »