Emacsのトラブル対処

バックスラッシュ文字が入力できない

原因がよく分かっていませんが,CSE環境にてバックスラッシュ文字 (¥)が入力出来ずにYen文字 (¥)が入力されてしまうという現象が起きる事があります.その場合,以下の手順で対処してください.(ローカルブートでは,このような現象は起きていないようです.)

作成しているファイルの漢字コードがUTF-8であることを確認

MacOS X Leopard環境でC言語ソースプログラムを作成する場合,そのファイルの漢字コードはUTF-8である必要があります.Emacs.appでファイルを読み込んだ際に,ウィンドウ左下を確認してください.

左下に u と表示されていればUTF-8コードでファイルを編集している状態になっています.

これがEやSなどu以外の表示になっていたら,これは編集中のファイルがEUC-jpコードやSJISコードでファイルを作成している状態にあります.

ソースプログラムファイルの漢字コードをUTF-8にコード変換

漢字コードが適切でない場合,nkfコマンドやMultiTextConverter.appを用いて,UTF-8コードのファイルになるようにコード変換処理を行ってください.漢字コード変換については,「6/22 日本語漢字コード,リダイレクション,パイプライン」の資料ページを参照してください.

NetBoot環境でnkfコマンドを用いて変換する場合,たとえば元のファイルksu.cを漢字コード変換するには,次のように操作します.

$ nkf -w ksu.c > ksu_tmp.c
$ mv ksu_tmp.c ksu.c

それでもバックスラッシュ文字が入力出来ない事がある

編集しているファイルの漢字コードがUTF-8になっていることを確認した上でも,まだバックスラッシュ文字が出てしまう現象が起きる場合,ことえりの文字入力などの個人環境設定が何か壊れている可能性があります.以下のページの記載に従って,個人環境設定を初期化してみてください.

NetBoot利用時のトラブル

コンパイルして実行すると,printf関数によるメッセージ出力が文字化けする

これも,作成したソースプログラムがUTF-8コードで正しく作成されていない可能性があります.Emacs.appでソースプログラムファイルを開いて,ウィンドウ左下を確認しましょう. u と表示されていなければ,ソースプログラムの漢字コードが正しくありません.上記の「バックスラッシュ文字が入力できない」の項目と同様の対処で漢字コードをUTF-8に変換してからコンパイルし直してみましょう.

尚,EmacsはC言語ソースプログラムなど様々なテキストファイルを読み込んだ際,漢字コードを自動的に判定する機能を持っています.この自動判定は完璧では無く,たまに間違えることがあるようです.

これに対処するには,ファイルのなるべく前(先頭)の箇所に日本語漢字をいれておくと判定間違いが減りますので,ソースプログラムを作成する際には,まず先頭部分に各自の学生証番号と氏名をコメントとして入力しておくようにしましょう.

基礎プログラミング演習Iの表紙ページへ戻る