3
  • OS: Windows 8.1
  • Microsoft SQL Server 2008 R2
  • Qt 5.2
  • DBドライバー「QODBC」

ウムラウトに少し問題があります。

列 NVARCHAR(35) を含むテーブルを作成し、テーブルに N'1ö2' を入力します。SQL Management Studio から何かを選択すると、ウムラウト ö が表示されます。

Qtでは、たとえばこれを使用しますqDebug() << “name“ << aQuery->value(„name“).toString();が、取得しますname "1?2"

利用可能なコーデック (QTextCodec::availableCodecs();) をループしても、有効な 1ö2 文字列を取得できません。

QByteArray ba = aQuery->value(„name").toByteArray();
qDebug() << "hex" << ba.toHex() << "str" << QString(ba) << "count" << ba.count();

出力:

hex "31efbfbd32" str "1?2" count 5

31 は 1 です
32 は 2
です efbfbd は ? の Unicode です (差し替えキャラ)

だから私の質問は非常に単純です - 私が間違っていることは何ですか? ;-)

ありがとう、マティアス

4

1 に答える 1

2

さて、それは今動作します。aQuery.clear; 私がリクエストを行う前にシングル がそれを行いました。;-)

于 2014-02-08T13:42:56.573 に答える