Qt SQL Server和变音符号

时间:2014-02-01 15:51:20

标签: sql sql-server qt odbc qsqlquery

  • 操作系统:Windows 8.1
  • MS SQL Server 2008 R2
  • Qt 5.2
  • DB Driver“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吗? (替换字符)

所以我的问题很简单 - 我做错了什么? ; - )

谢谢马蒂亚斯

1 个答案:

答案 0 :(得分:2)

好的,现在有效。单身 aQuery.clear; 在我做请求之前做了。 ; - )