0

未知の文字が含まれているため、作成したプログラムが文字列を表示できないという問題があります。プログラムはラテン語でエンコードされていると思いますが、どうすればutf-8にできますか?

クライアントからこれを受け取っているため、単純に文字を変更することはできません。

または、SQLでこれを変更する必要がありますか?

4

2 に答える 2

0

C++ ビルダー 5 はネイティブで UTF8 をサポートしていません。Windows の [コントロール パネル] の [地域の構成] で定義されている文字セットを使用します。たとえば、スウェーデンに住んでいる場合、おそらく文字セットはスウェーデン語に適合します。データベースからテキストを開こうとする場合、またはアプリケーションからファイルを開こうとする場合、テキストは Windows と同じ文字セット (この例ではスウェーデン語) でコード化する必要があります。別のケースでは、奇妙な文字が表示されます。

例に従って、スウェーデン語のアプリケーションからラテン文字を表示したい場合は、Tnt コントロールのような Unicode VCL コントロールを使用する必要があります。

次に、文字列を読み取った後、Tnt コントロールに入れる前にラテン語から Unicode に変換する必要があります。MultiByteToWideChar 関数を使用できます。いずれにせよ、ネイティブ Unicode をサポートするために、C++ Builder を最新バージョンに更新することをお勧めします。生活はずっと楽になります。

データベース内の文字列を体系化するだけで、記号が失われてもかまわない場合は、データベースに入力する前に、テキストの文字セットをラテン文字から Windows 文字セットに変換できます。Notepad++ を使用して、テキストの文字セットを変換できます。

于 2012-11-17T17:37:44.320 に答える
0

フィールドまたはテーブル名にスペースまたは英語以外の名前が含まれる場合は、テーブル名またはフィールド名に[ ] を使用します

于 2012-11-12T13:34:23.163 に答える