3
  • 操作系统:Windows 8.1
  • 微软 SQL Server 2008 R2
  • Qt 5.2
  • 数据库驱动程序“QODBC”

我对元音变音有点问题。

我用列 NVARCHAR(35) 创建表并用 N'1ö2' 填充表。当我从 SQL Management Studio 中选择某些内容时,我会看到变音符号 ö。

在Qt中我使用例如thisqDebug() << “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 回答