
RedHatLinux7.3(2.96-110)、gccバージョン(2.96 20000731)にて、
C言語のアプリケーションを初めて作成しています。
そのアプリ内でテキストファイル(日本語あり)を
作成するのですが、どうも期待どおりの結果になりません。
というのも、出来上がったファイルの文字コードが、
EUCではなくShift-JISになってしまっています。
Linuxで作成したアプリをLinuxで実行するのですから、
出来上がるファイルの文字コードはEUCになるはずですよね?
ちなみに、文字コードの確認は「kcc -c XXXXX.log」でおこないました。
もしかして「アプリケーションログを日本語出力する」
なんていうことが、そもそもの過ちなんでしょうか?
ファイル出力には、fopen+fprintfを使っています。
どうしてこのような結果になってしまうのか、ご存知のかた、よろしくお願いします。

No.3ベストアンサー
- 回答日時:
リダイレクトしたファイルがEUCになっているかどうか以下の方法で確認してみてください。
コンソールの場合は、まず、konと入力し、漢字が表示できるようにしてください。その後で、
1.emacs ファイル名
と入力し、漢字が表示されると、左下にEEEが表示されれば
EUC、EESの場合はシフトJISです。
2.cat ファイル名
で正しく漢字が表示されれば、EUCです。
この回答への補足
回答ありがとうございました。
emacsでは-S、catでは文字化けした状態でした。これはやっぱりShiftJISですね。
でも、今やっと、うまくいきました!
結論から言いますと、ソースファイルのいくつかが正常にEUC変換できていなかったみたいです。
すべてのソースファイルのEUC変換をやり直して実行してみましたら、ログファイルは正常にEUCで出力されているようです。
emacsで-E、catで正常に表示されていますので間違いないですよね?
本当にいろいろありがとうございました。
No.4
- 回答日時:
nkf のバグというか文字コードの欠陥なんですが
シフトJISのX0201仮名とEUCが判別できない事があります。
なので入力が必ず シフトJIS と分かっている場合は
nkf -S -e xxx.c > yyy.c
としてみたら如何でしょうか。
また、FTP クライアントにも文字コード変換機能くらい
付いているのが普通だと思います
一部ファイルは EUC で一部ファイルが シフトJIS のような
混乱を避けるためにも、 FTP クライアントでアップする際に
一緒に変換するのが無難だと思います。
この回答への補足
回答ありがとうございます。
nkfのヘルプを見直しました。そういうオプションがあったなんて、ぜんぜん気づきませんでした。
また、FTPソフトも設定を見直そうと思います。

No.2
- 回答日時:
nkfを使用したそうですが、nkf -e xxx.c と入力しただけでは、xxx.cはEUCコードに変換されません。
nkf -e xxx.c > yyy.cと入力してください。
yyy.cがEUCコードに変換されたファイルです。
この回答への補足
回答ありがとうございます。
さきほどの補足にて記述が不足しておりました。
ご指摘のとおり、「nkf -e xxx.c > yyy.c」でリダイレクトはしてあります。すみませんでした。(+_+)
EUC変換に失敗しているのかしら・・・?でも失敗してたらリダイレクト結果も文字化けしてますよね。
No.1
- 回答日時:
その日本語の出所はどこなんでしょう?
出所に問題有りです。
ソースコード中? (ソースの文字コード確認)
外から読み取る? (読み取り元データの文字コード確認)
fprintfの%sは'\0'で文字列終端を探知するのみ。
それ以外は何も考えません。
この回答への補足
回答ありがとございます。
えぇっと、Windowsでソースを作成してLinuxにFTPして、「nkf -e」でEUCに変換しましたのでEUCのつもりです。
このままではEUCに変換なってないんでしょうか?(-_-;)
またよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数のスコープ
-
DLLファイルの逆コンパイラにつ...
-
終端記号、非終端記号とは
-
C言語 バッファについて。
-
コマンドプロンプトについて。
-
int16_t の _t は何?
-
C言語 関数、変数の宣言について
-
Cのプログラムからアクセスでき...
-
逆コンパイルと逆アセンブルの...
-
コンソールアプリを作成するの...
-
gccを行ってもexeファイルが生...
-
Linuxでの開発環境構築や設定の...
-
C++でデスクトップGUIアプリ開...
-
C言語について。
-
C言語について。
-
Cのコンパイルでコメントアウト...
-
C言語の質問です。バイナリ形...
-
visual studio 2022でのC#プロ...
-
C言語の関数のextern宣言
-
プログラマー達は何故、プログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
既存のテキストファイルを開く方法
-
VB(VBA)で、バイナリデータを使...
-
テキストファイル内容の、16進...
-
VBSでテキストファイルの2行目...
-
ストリームについて。
-
エクセルVBAでメールの自動作成...
-
受信メールを一括してテキスト...
-
WORDのVBAで差し込み印刷時、デ...
-
別のサーバーのテキストファイ...
-
excelからtextへ変換する際の出...
-
テキストファイルの特定行の削...
-
Zbarというソフトについて
-
Excel VBAが徐々に遅くなる
-
テキストファイル内の文字の有...
-
テキストファイルを検索・編集...
-
HTMLでこんなこと可能ですか??
-
こんな場合はどうすればいいの?
おすすめ情報