2010年9月16日木曜日

【emacs】文字コード/文字化け

emacsにおいて,各種機能に用いられる文字コードは画面左下に記載されている.左下に

-uuu



-uuS

等と書いてある部分が文字コードを表記している.日本語で使用する主な文字コードは次のように表記される.

u: utf-8
S: shift-jis
E: euc-jp

文字化けが起きている場合,設定されている文字コードと異なる文字コードでファイルを開いたと考えられる.自分のMac内でそのような現象が起きないようにするため,筆者は -uuu で統一するようにしている.

ここで,3つある表記は次の意味を持つ.

-uuu
-123

と各文字に番号を振った場合,それらは以下の意味を持つ.

1: keyboard-cording-system
2: terminal-cording-system
3: buffer-file-cording-system

文字コードを変更する場合はそれぞれの機能を指定して,以下のようにコマンドを打てば良い.

M-x set-keyboard-cording-system
M-x set-terminal-cording-system
M-x set-buffer-file-cording-system

なお,M-xはデフォルトだとエスケープキー+xに割り振られている.

##########################


文字化けが発生している場合,文字コードを変更しても文字化けを直すことは出来ない.文字化けした文字のまま文字コードを変換してしまうため,症状が悪化し,もとの文字に戻せなくなることがある.

文字化けを直す場合は,文字コードを変換するのではなく,文字コードを変換せずに,別な文字コードで開く.文字化けしない文字コードで開くことが出来た後に,デフォルトで使用している文字コードに変換すればよい.

別な文字コードでファイルを開く場合は以下のコマンドを使用する.

他のファイルを開く場合
C-x RET c 文字コード RET C-x C-f

開いてるファイルを開きなおす場合
C-x RET c 文字コード RET C-x C-v RET

C-xはコントロールキー+xであり,RETはエンターキー(リターン)を表す.

0 件のコメント:

コメントを投稿