- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gccによって、BOM付きのUTF-8で出力する)
gccによってUTF-8で出力する方法について
このQ&Aのポイント
- gccコマンドを使用してCソースファイルから実行ファイルをビルドする際、オプション無しではエンコーディングがBOM無しのUTF-8で出力されます。
- しかし、この場合、エディタで正しく表示されない可能性があります。
- gccコマンドにはBOM付きのUTF-8で出力するオプションが存在するかどうか調べましたが、明確な情報は見つかりませんでした。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
この場合ファイルの入出力はcygwinのライブラリがやってるのでgcc関係ありませんが。 それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。 emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。
その他の回答 (2)
- SherlockHolmes2
- ベストアンサー率40% (175/429)
回答No.3
gcc自体にはコード変換機能はありませんので、fputsの際の元データがUTF-8だっただけだと思われます。 ちなみに、LANG環境変数は設定されていますでしょうか。 Emacs使いではないので正確な回答は出来ませんが、LANGが正確に設定されていないとvim等も正確に表示出来ないですので・・・。
質問者
お礼
御回答ありがとうございます。 LANGの値は、ja_JP.UTF8に設定しているので、環境設定に関しては問題ないと思います。
- kmee
- ベストアンサー率55% (1857/3366)
回答No.2
fputs 自体にコード変換機能はありません。 UTF-8で書かれたものを出力したからUTF-8になっただけです。 BOMを出力したれば、明示的にBOMを出力してください。 文字コードは default-buffer-file-coding-system とか file-coding-system-alist とかでデフォルトの値を決めることもできます。 BOMを必要とするアプリの方が少なく、むしろ邪魔になるアプリも多いので、無理に付ける必要は無いと思います。
質問者
お礼
御回答ありがとうございます。 >文字コードは >default-buffer-file-coding-system >とか >file-coding-system-alist >とかでデフォルトの値を決めることもできます。 > これらについて調べてみて、試してみます。
お礼
御回答ありがとうございます。 >それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。 BOMは邪魔になるケースが多いんですね。 知りませんでした。 >emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。 確かに、emacsの設定を変える方がよさそうですね。 そちらの路線で考えてみます。