質問: ### 前提・実現したいこと OSは、Windows10でVisual Studio 2017のVisual C++のWindowsデスクトップアプリケーションを新規作成してデフォルトのままビルド実行させるとメニュータイトル(ファイル、ヘルプ等)の日本語の部分が文字化けしてしまいます。単純な設定の問題だと思うのですが解決方が分からず苦慮しています。プロジェクトのプロパティーで文字セットをUnicodeからマルチバイトに変えてもダメでした。 ### 発生している問題・エラーメッセージ エラーメッセージはありません。 ### 該当のソースコード Visual Studio 2017 C++ のWindowsデスクトップアプリケーション新規作成時の未編集デフォルトコード ### 試したこと メニューの文字は、リソースビューでオブジェクトのプロパティを変更してやると日本語が正常に入りますが、リソースファイル(.rc)をコード表示させてファイルの内容を編集する場合には文字化けとなります。 また、その後のプログラムでウィンドウ内にリテラルで日本語(”テスト”等)をいれると文字の内容によってビルドがエラーになる事があります。おそらく、これもデフォルトの文字化けが解消できれば解決しそうに思っております。<-実際にはこちらの方を解決したい ### 補足情報(FW/ツールのバージョンなど) メニュー表示部分だけの問題であればこれで解決なのですが、その後のプログラムで日本語出力がうまくいかずすべて英語表現にしてだましだまし進めており何とかできないかと考えています。
回答: リソーススクリプト(*.rcファイル)を[Unicode - コードページ 1200]で保存し直す事で解決致しました。他サイトからの情報によるとVisual Studio 2017の特定のバージョンにバグがあり、最新のバージョンでは改善されているようです。以下が戴いた情報になります。 尚、私が問題を確認したバージョンは、Windows10 Pro 1703, Visual Studio professional 2017 15.3.5 でリソーススクリプト(*.rcファイル)の既定のコードページは、”Unicode(UTF-8シグネチャなし)-コードページ65001”となっていました。 > > 以下の報告事例によるとVS2017 v15.3.0のプロジェクトテンプレートにはバグがあって、リソーススクリプトファイルが不適切なコードページ (おそらくCP65001, UTF-8) となってしまうようです。リソーススクリプトを処理するリソースコンパイラ (rc.exe) はANSIマルチバイトもしくはUTF-16のみをサポートしています。 > > https://developercommunity.visualstudio.com/content/problem/94353/vs-community-2017-1530にアッフクレート後win32-c-フロシェクトテンフレー.html > > > 補足:今回は、知見不足でマルチポストしてしまいましたが、以降は同じ失敗をしないよう致します(他の方々に迷惑が掛かるだけでなく、自分も2か所に情報を入れるのは手間だとよくわかりました。)