| « CSSで作った疑似フレームがスクロールの際、引っかかって邪魔になる件 | Apache HTTP Server 2.2.0 Released » |
日本語のロケールをja_JP.eucJPからja_JP.UTF-8に変更
FreeBSD 6.0にしてから気付いたのだが、Xの端末エミュレータで日本語文字を入力すると、表示が乱れる。BackSpaceで一文字取り消しても、全角文字の半分の位置にしか戻らず、文字は残ったままなのだが、削除されたような動作。どうも、挙動が変なので、使っていたKDE付属のkonsoleのせいかも知れないと思い、KTermやmltermなどにアプリケーションを変えてみても、症状は同じ。
もしや、ロケールのせいかもしれないと思い、駄目元で、ロケールを
setenv LANG ja_JP.eucJPsetenv LANG ja_JP.UTF-8
と変更して、Xを起動し直してみた。
今度はうまく行く模様。今までの鬱陶しさが嘘のように快適。UNIXでの日本語環境は、EUCと長らく思い込んでいたけど、時代はUTF-8か…。
ところが、今度は、ローカルのホームディレクトリにある日本語ファイル名のファイルやらディレクトリが読めない。以前、日本語ファイル名の文字コードを変換するため、Sambaを介して、Shift_JISからEUC-JPに変換した事があるけど、移動にかかる時間もあって、結構面倒だった。
何かうまい方法はないかと調べていたところ、
で紹介されていたconvmvというツールがあることを知った。
FreeBSDのportsにも、
の場所に用意されていたので、さっそく導入。
事前に、
% convmv -r -f euc-jp -t utf-8 ${HOME}
でどういう結果になるかチェックしてから、
% convmv -r -f euc-jp -t utf-8 ${HOME} --notest
で${HOME}以下にある日本語ファイル名のディレクトリやファイル群を一括して変換。
問題なく日本語のファイル名を見れるようになった。今後、UTF-8のロケールで使用してみることにする。
Follow up:
ロケールをja_JP.eucJPからja_JP.UTF-8に変更したら、emacs 21を起動した際、
Warning: Missing charsets in String to FontSet conversion
と警告されるようになった。よくわからないけど、~/.emacs内を
(setq menu-coding-system 'euc-jp);(setq menu-coding-system 'euc-jp)
とコメントアウトしても駄目。
とりあえず、editors/emacsを
-DWITH_MENUBAR_FONTSET
なしでビルドしたら出なくなった。
しかし、Mule-UCS付きだと起動が重いので、この際、emacs 22に移行する事も検討しようかな? elisp関係は、ほとんどportsを使ってないし。
あと、databases/mysql41-serverの方も、なんとなく
WITH_CHARSET=utf8WITH_XCHARSET=allWITH_COLLATION=utf8_general_ci
付きでビルドし直してみた。こちらの方は、特に意味はないけど。
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
1 comment, 3 trackbacks
しかし、困った事に、以前焼いたDVD-Rを
# mount_cd9660 -C UTF-8 /dev/cd0 /cdrom
とマウントしても、日本語ファイル名の部分が文字化けしている・・・。
調べたところ、どうやら、一文字が2バイトを超える文字は、現在のkernel iconvではサポートされないらしい。
つまり、現状、日本語ファイル名を含むCD等は、 ja_JP.UTF-8のロケールでは、使えないということか・・
以前、FreeBSD 6.0のX環境下の端末エミュレータで日本語の入力をした際、表示がおかしくなったり、Backspace等の挙動がおかしいので、試みに、実験がてら、環境変数LANGをja_JP.eucJPからja_JP.UTF...
FreeBSD 6.1-RELEASEが出てきたようなので、この間の6.0-RELEASE-p7からアップグレードしてみました。
This post has 318 feedbacks awaiting moderation...