ホーム > Uncategorized > [覚書]ざけんな。”LANG=C” “LANGUAGE=C”で日本語!!英語にならない!!の怒りの対策。”LC_ALL=C”?”LANG=POSIX”?、suでdpkg-reconfigure locales情けないぞ!

[覚書]ざけんな。”LANG=C” “LANGUAGE=C”で日本語!!英語にならない!!の怒りの対策。”LC_ALL=C”?”LANG=POSIX”?、suでdpkg-reconfigure locales情けないぞ!

どんどん破壊されていくなー。流石Linux潰しの工作半端ねー。つーか鯖管理者はよくこれで死なずに済んでいるな。

LANG=C

ってのは中途半端に日本化された使えねーLinuxディストリを一発で価値あるモノにする最高のレシピなのだが、それが遂に覆される。ちょっとワラた。

どういうことかというと、古よりLANG=Cにするとコマンドの出力結果は英語だった。ところが久しぶりにやってみたら、

コマンド 出力結果
ls -l 日本語
LANG=C ls -l 日本語
LC_ALL=C ls -l 英語
LANGUAGE=C ls -l 日本語
LANG=en_US.utf8 ls -l 英語
LANG=ZAKENNA ls -l 英語

Linux Mint 15 Oliviaで確認

で対策。上記に答えがあるが、

“locale -a”を実行し、その中にエントリされていない文字列をLANGにセット

すれば英語で出力が得られる。

または、LANG=Cの代わりに、“LC_ALL=C”を使用する。

これでもダメとなる場合..

例えば、存在しないコマンドを実行するとエラーメッセージが表示されるアレだ。本当にムカつくな。

泣きながらLANG=POSIXを使う

export LANG=POSIX 
hogehoge
-bash: hogehoge: command not found

これでもダメとなる場合2..(debianとかubuntuとか)

例えば、存在しないコマンドを実行するとエラーメッセージが表示されるアレだ。本当にムカつくな。

今の所対処がこれしか見つからない

sudo dpkg-reconfigure locales

または(文字化けする場合)

LANG=C sudo dpkg-reconfigure locales

でロケールの選択はスキップして、次に出てくるデフォルトロケールを”NONE”にする

しかしこの対策、管理者にならないとダメなんだよな。アホか

蛇足

っていうかー、LANG=Cが潰されているってことは、コンソールで文字化け必須じゃん。LANG=C使用のシェルスクリプトとか全滅じゃん。サイテー過ぎるにも程があるぞ。

蛇足2

最強呪文”LANGUAGE=C”で日本語、LC_ALLが英語ってなんてドイヒーなw。優先順位(LANGUAGE>LC_ALL>LC_XXX>LANG) 無視しまくりじゃん。優先順位についてはこちら参照 http://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html

いつからこんなんなった。一時的な混乱ならいいが。

広告
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。