Steam向けのゲームを作成しています。
ローカライズの関係でソースコードをUTF-8、DxLib_Initの前にSetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 )を呼んでいます。
PNGファイルのパスをstd::stringに格納してLoadGrapで読み込ませたり、
DrawStringで表示させようとしたときに、
フォルダパスに日本語が含まれているとエラーになります。
std::filesystemでフォルダ内のファイル一覧を取得して順次処理を行おうとしたときに発生しました。
・SetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 )を呼ばなければエラーは出ません。
・文字リテラルu8を付ければエラーになりません。
以下、ソースの抜粋です。
std::string file = "Players\\キャラクタ1.png";
int hdl = LoadGraph( file ); // ここで読み込みエラー
std::filesystem::path filePath = file;
std::string fileName = filePath.filename().string();
DrawGraph( x, y, hdl , true );
DrawString( x, y + 130, fileName.c_str(), 0xffffff ); // 日本語が表示されない
UTF-8で日本語に対応するにはどのように記述すれば教えていただけると助かります。