0
MFCビュークラスで単純なUnicode文字列を表示しようとしています。問題は、次のコードMFCビューでアラビア語/ Unicodeを表示
CString arabic (_T("مرحبا العالم"));
pDC->TextOutW (50, 50, arabic);
に簡略化することができる問題は、以下のスクリーンショットに示すように、MFCのウィンドウは、バーの代わりに、アラビア文字が表示されていることです。誰かが私が間違っていることを伝えることができますか?
ことが重要ならば、私はVS 2003を使用しています。
EDIT:デバイスコンテキストでフォントオブジェクトを選択すると、アプリケーションの動作は変わりますが、それでもまだ正しくありません。私は間違ったコードページを使用していたかのように、次の文字が表示されます。
はい、フォントが不足しているように見えたが、今では、コード・ページといくつかの問題があるようです。質問の編集部分をご覧ください。私はUnicodeを使用しているため、コードページは無関係なはずです。 – Jaywalker
UNICODEを定義してプロジェクトをコンパイルしますか?そうでない場合は、少なくともMBCSを定義してコンパイルする必要があります。そうしないと、使用するコードページに関係なく、そのようなUnicode文字は正しく処理されません。 – Stefan
OK。これは、encoding:UTF-8という文字列リテラルを含む.cppファイルを署名付きで保存することで修正されました。私が使っていたもう1つのオプション、UTF-8は署名なしで動作しませんでした! – Jaywalker