• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UNICODEファイルが文字化けする)

UNICODEファイルが文字化けする

このQ&Aのポイント
  • Visual Studio2008のMFCでUnicodeファイルを読み込むと文字化けする問題について質問します。
  • setlocaleや_wsetlocaleを使用する方法では解決できない環境で、Unicodeファイルの文字化けが発生する理由を教えてください。
  • 下記のコードを使用してUnicodeファイルを読み込み、文字化けが発生しています。どうすれば正常に表示できるようになるでしょうか?

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

  • ベストアンサー
  • a_kwn
  • ベストアンサー率34% (8/23)
回答No.1

ファイルのオープン処理 > CStdioFilecFile; > cFile.Open(cpath,CFile::modeRead | CFile::shareDenyNone);// == FALSE) を下記のように変更して、試してみてもらえないでしょうか? FILE* fp = _tfopen(cpath, _T("rt,ccs=UNICODE")); CStdioFile cFile(fp);

rechirin1
質問者

お礼

ご丁寧にありがとうございます。 問題なく読むことができました! いろいろと調べたのですが、問題解決できずありがとうございました。 理由は、これから調べさせて頂きます。 本当にありがとうございました。 もう少ししたら、ベストアンサーで閉じさせて頂きます。 

その他の回答 (1)

  • a_kwn
  • ベストアンサー率34% (8/23)
回答No.2

少し補足すると、Visutal Studio 2005 の fopen のヘルプには、 ”encoding に指定できる値には、UNICODE、UTF-8、および UTF16-LE があります。ファイルが既に存在し、読み取り用または追加用に開かれる場合、バイト順マーク (BOM: Byte Order Mark) を使用して適切なエンコーディングが決定されます。” という記載があるのですが、私が試したところ ccs= の設定を入れないと ANSI としか扱われないようです。

rechirin1
質問者

お礼

なるほど、helpは例によって難解で、有用な情報を得にくいと 思い、検索で探していたのですが、まったく解決にたどり着けませんでした。 これからは、もう少しhelpを探してみます。 本当にありがとうございました。

関連するQ&A