- 427 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 01:08:50.29 ]
- std::cout << "ほげ";
std::wcout << L"ほげ"; JavaからJNI(Java Native Interface)でc++のコードを使っていて、 デバッグ用にcoutを使ったら文字化けしてしまいました。 もしかしてコーディングが違うのでは?とか思いました。 調べてもよくわからないのですけど、おそらくJavaが用意したコンソールは、UTF16のビッグエンディアンなんじゃないかなと思いました。 なので、L"ほげ"というのをBigエンディアンに出来ないでしょうか? LってのがLittleだったら、神がかってるなと思って、B"ほげ"にしてみたらやっぱだめでした。 Localeなのかな。 std::wcout.imbue()付近で調べればわかりますかね?
|

|