■ ShellExecuteのメーラー起動で文字化けします
東京みやげ
2007/12/08(土) 19:33:14 <中級者> 
いつもお世話になっております。
Vistaで下記コードを実行すると、ダブルバイト(あいうえお)が文字化けしてしまいます。XP+VC6では問題なく動作していましたが、Vista+VC2005で非互換になってしまいました。
CString string;
string = _T("mailto:");
string += _T("?subject=");
string += _T("あいうえお");
string += _T("&body=ABCDE");
ShellExecute(NULL, _T("open"), string, NULL, NULL, SW_SHOWNORMAL);
どなたかヒントがあればご教授下さい。
通りすがり
2007/12/08(土) 20:03:05
VC++6.0→VC++2005で文字コード標準設定がMBCSからUNICODEになったけど
その辺かな?
TCHAR使ってるし
Akazaru
2007/12/12(水) 13:57:48 <中級者> 
ロケールの設定とかでしょうか?
::_tsetlocale(LC_ALL, _T("Jpn"));
ゴン
2007/12/28(金) 14:46:46
そもそもメーラーの引数にUTF-16ってOKなんですか?
RAPT
[HomePage]
2007/12/28(金) 15:22:21
これではどう?
CStringA string;
string = "mailto:";
string += "?subject=";
string += "あいうえお";
string += "&body=ABCDE";
ShellExecuteA(NULL, "open", string, NULL, NULL, SW_SHOWNORMAL);
毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!
