当运行下面的代码时,结果是Windows中的“אבגדה”和“ ?????” 在Linux上,似乎qry.value(0)
(一个QVarient类型)使用了defult编码。在Linux中,我在驱动程序级别使用free.dts和odbc.ini
如何设置QSqlQuery以使返回格式为UTF16?
返回的格式是什么?
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("..."); //Some valid connection string
QByteArray ba;
char* _buffer11;
if(db.open())
{
QSqlQuery qry(db);
qry.prepare("Select UTF16 From DataTypes WHERE ID=9");
if(qry.exec())
{
QVariantList resultList;
while(qry.next())
{
resultList << qry.value(0);
}
}
// ...
}
我找到了解决方法,该行client charset = UTF-8
应添加到freetds.conf
文件中
[SERVER_1]
host = 192.168.192.44
instance = SQLEXPRESS
tds version = 8.0
client charset = UTF-8
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句