Visual studio C++のコンパイル時の警告C4566の対応方法
英語OSで日本語がハードコーディングされたソースをコンパイルすると警告C4566が発生した。このままコンパイルされたものだたと日本語の比較の処理など正しく動作しないことが発覚。既知の問題かもしれないが自分がはまったのでメモとして記述。
Error Message
character represented by universal-character-name 'char' cannot be represented in the current code page (page)
以下の対処方法を行うことで警告を回避できる。そして日本語の比較の処理も正常に動作することがわかった。
対処方法
1.英語OSにマルチランゲージパックの日本語パックをインストールする
Windows2003 Serverの場合はこのサイトからマルチランゲージパックをダウンロードできる。
2.コントロールパネル-地域と言語のオプション で開く画面の「詳細設定」タブで「Unicode対応でないプログラムの言語」を日本語にします。
上記のことをやると日本語が英語OSでも表示できるようになる。
Error Message
character represented by universal-character-name 'char' cannot be represented in the current code page (page)
以下の対処方法を行うことで警告を回避できる。そして日本語の比較の処理も正常に動作することがわかった。
対処方法
1.英語OSにマルチランゲージパックの日本語パックをインストールする
Windows2003 Serverの場合はこのサイトからマルチランゲージパックをダウンロードできる。
2.コントロールパネル-地域と言語のオプション で開く画面の「詳細設定」タブで「Unicode対応でないプログラムの言語」を日本語にします。
上記のことをやると日本語が英語OSでも表示できるようになる。
コメント