Linuxの環境変数、言語の設定 (Vimで日本語の文字化け回避)

viで日本語を含むファイルを編集したり、日本語を書こうとすると、こんな風にウニウニと文字化けする。

// 訳注:
// LWindows の~C~C』~A~Sの~Uァ~C~B~R編~FWな~Dで~A~A~UDB
// Vの~Fキ~C~Hエ~Gィ~B~R使~A~WAUTF-8 の BOM な~W (ま~_は UTF-8N) で保XX
Wて~A~A~UDB
//
// ** MySQL settings ** //
define('wp_3_CACHE', true); //Added by WP-Cache Manager
define('DB_NAME', 'example');    // Gー~C~Yー~P~M

そう言う場合、環境変数が合っていないはずです。
まずは環境変数をprintenvコマンドで調べてみましょう。printenvは環境変数一覧を出力するコマンドですが、一覧から探すのは面倒なので、grepで言語関係に絞り込みます。

$ printenv | grep LANG

これで帰ってきた結果が、eucなりutf-8なり、希望する設定と違ったら、修正する必要があります。

言語関係の設定は
/etc/sysconfig/i18n
に書かれています。

今回は、EUCからUTF-8にするので

LANG=ja_JP.eucJP
LC_ALL=ja_JP.eucJP

LANG=ja_JP.utf-8
LC_ALL=ja_JP.utf-8

と書き換えて、ログインし直せばOKです。

参考

日本語EUCを設定

LANG=”ja_JP.eucJP”

日本語UTF-8を設定

LANG=”ja_JP.UTF-8”

広告

SJISを設定

LANG=”ja_JP.SJIS”

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *