2016-08-10 5 views
1

私はC++ Builder 10.1 Berlinを使用してAndroidアプリケーションを開発しています。フランスの会社のためにこのアプリを作成するとき、私はアクセントを表示したいと思います。たとえば、ヘッダーテキスト "Libellé"を持つ文字列グリッドがあります。C++ Builder:Androidアプリケーションでアクセントを表示する方法は?

StringGrid1->ColumnByIndex(0)->Header = "Libellé" 

しかし、私はアプリを実行したとき、私は未知の文字(疑問符付きの黒ダイヤ)を持っている:だから私はこのようなこのヘッダのタイトルを書きました。

Androidでアクセントを表示するにはどうすればよいですか?

+0

あなたはStringGrid1-を試してみました> ColumnByIndexは(0) - >ヘッダー= U8 "Libellé" – pw94

+0

はい、それは何も変更しませんでした。 – Dylan

+0

'u8'プリフィックスは、リテラルをUTF-8としてエンコードしますが、' const char [] '配列であり、' Header'に代入されたときは 'char *'ポインタとして扱われます。 'Header'は' UnicodeString'として宣言されています。これは 'char []'データがUTF-8であることを知らないため、非ASCII文字をUTF-16に正しく変換しません。 UTF-8リテラルを使用する場合は、適切な変換を保証するために 'UTF8String'を使用する必要があります。例:' Header = UTF8String(u8 "Libellé"); ' –

答えて

2

あなたは(char文字を使用して)(wchar_t文字を使用して)リテラル広い、ない狭いリテラルとして文字列リテラルを定義する必要があります。プレフィックスそれは広い作るLリテラル:

StringGrid1->ColumnByIndex(0)->Header = L"Libellé"; 
+0

ありがとう!それだった! – Dylan

関連する問題