• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gccによって、BOM付きのUTF-8で出力する)

gccによってUTF-8で出力する方法について

このQ&Aのポイント
  • gccコマンドを使用してCソースファイルから実行ファイルをビルドする際、オプション無しではエンコーディングがBOM無しのUTF-8で出力されます。
  • しかし、この場合、エディタで正しく表示されない可能性があります。
  • gccコマンドにはBOM付きのUTF-8で出力するオプションが存在するかどうか調べましたが、明確な情報は見つかりませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

この場合ファイルの入出力はcygwinのライブラリがやってるのでgcc関係ありませんが。 それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。 emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。

MetalLover
質問者

お礼

御回答ありがとうございます。 >それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。 BOMは邪魔になるケースが多いんですね。 知りませんでした。 >emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。 確かに、emacsの設定を変える方がよさそうですね。 そちらの路線で考えてみます。

その他の回答 (2)

回答No.3

gcc自体にはコード変換機能はありませんので、fputsの際の元データがUTF-8だっただけだと思われます。 ちなみに、LANG環境変数は設定されていますでしょうか。 Emacs使いではないので正確な回答は出来ませんが、LANGが正確に設定されていないとvim等も正確に表示出来ないですので・・・。

MetalLover
質問者

お礼

御回答ありがとうございます。 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を必要とするアプリの方が少なく、むしろ邪魔になるアプリも多いので、無理に付ける必要は無いと思います。

MetalLover
質問者

お礼

御回答ありがとうございます。 >文字コードは >default-buffer-file-coding-system >とか >file-coding-system-alist >とかでデフォルトの値を決めることもできます。 > これらについて調べてみて、試してみます。

関連するQ&A

専門家に質問してみよう