Re: windowsとandoroidの utf8について ( No.1 ) |
- 名前:名無し 日時:2018/01/22 12:47
個人的にはutf16が好きです。
どの言語のパソコンも文字が化けないし、どの文字も2byteで(4byteの文字)、処理が簡単です。
全部utf16に統一し、アンドロイド版だけutf8に変化してDrawString呼ぶほうがいいでしょうか?
|
Re: windowsとandoroidの utf8について ( No.2 ) |
- 名前:管理人 日時:2018/01/22 14:11
|
Re: windowsとandoroidの utf8について ( No.3 ) |
- 名前:名無し 日時:2018/01/22 15:01
> お使いのDXライブラリのバージョンは幾つでしょうか?
3.18cでしたが、そのリンクのDxLibVCTest.exeダウンロードして、VisualStudio2017で再構成しても、同じでした。、恐らくこちらの環境の問題でしょう。
SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8)を呼んだ後で、 DrawString(0, 0,u8"こんにちは", 0xffffffff)では文字化けました、
DrawString(0, 0,"こんにちは", 0xffffffff)では実行すると文字化けせず「こんにちは」と表示されました。
何故かこちらの環境ではSetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8)を呼んだ後も、 DrawStringはshift-JISになっています。
こちらの環境の問題で、時間を取らせてすみません。
親切にご回答ありがとうございます。
|
Re: windowsとandoroidの utf8について ( No.4 ) |
- 名前:管理人 日時:2018/01/22 23:52
> SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8)を呼んだ後で、 DrawString(0, 0,u8"こんにちは", 0xffffffff)では文字化けました、
DxLib_Init() を実行する前に SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8); を実行する必要がありますが、
その点は大丈夫でしょうか?
// DxLib_Init() を実行する前に行う
SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8);
if( DxLib_Init() < 0 )
{
return -1;
}
DrawString(0, 0,u8"こんにちは", 0xffffffff);
また、今までお使いだった 3.18c が使われてしまっているという可能性もありますので、
3.18c があったフォルダを削除したり、フォルダ名を変更するなどして参照されないようにしてみてください m(_ _)m
> こちらの環境の問題で、時間を取らせてすみません。
この機能に関しては環境による影響が少ないので、恐らく SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8); を実行する
タイミングか、昔のバージョンが使用されてしまっているかのどちらかだと思います
|
Re: windowsとandoroidの utf8について ( No.5 ) |
- 名前:yumetodo 日時:2018/01/23 23:18
>文字コードの問題に関しては現状最適解が無い状態なので
C++標準化委員会の連中がcahr8_t型を導入しないからこういうことに・・・
|
Re: windowsとandoroidの utf8について ( No.6 ) |
- 名前:名無し(解決) 日時:2018/01/24 00:08
> タイミングか、昔のバージョンが使用されてしまっているかのどちらかだと思います
解決しまた。ありがとうございます。
バージョンの問題でした。昨日失敗したのはadditional Library Directoriesの設定がDxLibVCTestに変えませんでしたから。
あまり古いバージョンではないので、バージョンの問題と思いませんでした。
> C++標準化委員会の連中がcahr8_t型を導入しないからこういうことに
導入したとしても、最適解とは限りません。中国語や日本語など、大量の2byteの文字を使うなら、utf16のほうがいいかもしれません。
|