- 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 です (差し替えキャラ)
だから私の質問は非常に単純です - 私が間違っていることは何ですか? ;-)
ありがとう、マティアス