人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

vi(vim)エディタでCファイルが文字化けしてしまいます。catコマンドではしないのですがなぜでしょうか?また、対策法をを教えてください。
環境はCentOS5.2です。

以下ログです。
[yukihito@yukihito study_c]$ ls -lF
合計 24
-rw-rw-r-- 1 yukihito yukihito 104 12月 21 16:58 ex01-5-2.c
-rw-rw-r-- 1 yukihito yukihito 270 12月 2 15:46 ex01-7-2.c
-rw-rw-r-- 1 yukihito yukihito 224 12月 2 17:51 ex01-8-2.c
[yukihito@yukihito study_c]$ cat ex01-8-2.c
#include <stdio.h>

float convert(void);

int main(void)
{
printf("%f ", convert());

return 0;
}

float convert()
{
float num;

printf("");
scanf("%f", &num);

return num / 2;
}
[yukihito@yukihito study_c]$ vi ex01-8-2.c
#include <stdio.h>

float convert(void);

int main(void)
{
printf("%f <83>|<83><93><83>h<82>?<82>?", convert());

return 0;
}

float convert()
{
float num;

printf("<89>?<83>h<83><8b><82>?<93>?<97>?<82>?<82>?<82>?<82>?<82>?<82>¢<81>F");
scanf("%f", &num);

return num / 2;
}

●質問者: yukihito_i
●カテゴリ:コンピュータ
✍キーワード:12月 24 LF Ls vi
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●45ポイント ベストアンサー

状況がよく分かりませんが、化けているコードの感じから、ソースコードの文字列定数をシフトJISで書いていませんか? このため、文字化けが起きているのではないでしょうか。


vim の文字コードは set encoding で変更できます。

設定ファイル "/.vimrc" に

set encoding=sjis

としてください。


ただ、CentOS 用のプログラムをつくるのであれば、CentOS のデフォルト文字コードは UTF-8 なので、

set encoding=utf-8

として、ソースコードも UTF-8 に直した方がいいと思います。


2 ● hashizo
●25ポイント

viについては、pahooさんがコメントされているので、catについて。

catでうまく表示できないのは、環境変数が設定されていないためだと思います。

ファイル自体はUTF8のように思います。

環境変数を設定の後、catしてみてください。

多分、日本語が表示されるはずです。

○言語の確認方法

echo $LANG

○sh/bsh系の場合、UTF8にする方法

LANG=ja_JP.UTF8

export LANG

○csh系の場合、UTF8にする方法

setenv LANG ja_JP.UTF8

まだ、文字化けする場合、ファイルがSJISかEUCだと思います。

ja_JP.SJIS、ja_JP.EUCなどに変えると表示できると思います。

http://www.nina.jp/server/redhat/fedora/utf-8.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ