UTF-8 環境

[id:babie:20051204:p2] で言っていた screen ウィンドウ毎の UTF-8 環境切替ですが、現在のところ screen コマンド: "Ctrl-T u" と、zsh の alias: "set-utf8" の2アクションでやっています。
具体的な用途としては Catalyst のサーバを動かすウィンドウ(TT ファイルもソースも UTF-8 で書いている)や UTF-8 の DB とやり取りするウィンドウで重宝してます。

~/.screenrc

bind u encoding utf8


~/.zshrc

alias set-utf8='source ~/setting/lang-utf8'


~/setting/lang-utf8

#!/bin/sh
export LANG=ja_JP.UTF-8

(sarge では /etc/environment に注意。デフォルトで LANGUAGE が設定されてたのでコメントアウトした)

EUC 環境切替も似たような感じです。


何とか1アクションにならんものでしょうか?


追記:
id:typestar さんありがとうございます。
encoding はイケました。環境変数 LANG の変更はシェルスクリプトの中で完結しちゃうので screen ウィンドウに反映されません。


とりあえず、setting/lang-utf8 は冗長だったので削除し、
.zshrc

alias set-utf8='export LANG=ja_JP.UTF-8'

にしました。


alias を呼ぶ版:

bind U eval "encoding utf8" "exec set-utf8"

や、シェル組み込みコマンドを呼ぶ版:

bind U eval "encoding utf8" "exec export LANG=ja_JP.UTF-8"

は「そんなコマンドないっ!」と怒られますねぇ。exec 取っても。実際ないっちゃないんですが。うーむ。


追記2:
typo タン(さぁ図々しくなって参りました)、重ね重ねありがとうございます。今のところ zsh 関数がベストですね。source や export 等のシェルビルトインコマンドが呼べれば解決なんですがねぇ。


追記3:
[id:babie:20051222:p1] に続きがあります。