• 締切済み

UTF-8等のエンコードでテキストファイル書込

Windowsデスクトップアプリケーション(C++)で簡易的なアプリを作っています。[OK]をクリックするとEditコントロールに入力されたテキストがテキストファイルとして保存されますが、メモ帳で開くと文字化けします。エンコードを変えて再度読み込んだところ、読み込むことができたエンコードはUTF-16 LEでした。 UTF-8等のエンコードで書き込みすることはできるんでしょうか。

みんなの回答

回答No.2

こちらの回答が参考になるかと。 https://teratail.com/questions/127691 なお、C++で.NET Frameworkの機能を使うためには、プロジェクトをC++/CLIにする必要がありますが、現在は非推奨なうえに非常に面倒なコーディングになるため、やめたほうがいいです。

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.1

UTF-8でテキストを保存することは可能ですよ。 .netのライブラリにそういうものがあります。 Editコントロールがどのようなものかわかりませんがネットを検索すればサンプルとして使えるものが見つかるはずです。 私は主にVB.NETを使用してわからないところや記憶が曖昧なところはネットを検索して調べます。その過程で文字コードを指定してテキストを出力するサンプルというのはたくさん目にしてきました。 そして、その過程で知ったのですがWindows10では文字コードのデフォルトはUTF-8だということ。今まではShift-JISだったので従来のやり方で文字化けしたときには軽く混乱しました。