2016-08-18 1 views
0

아래 코드를 실행하면 Windows에서 'אבגדה', '?????' 리눅스에서, qry.value(0) (QVarient 타입)은 defult 코딩을 사용하는 것 같습니다. Linux에서 드라이버 레벨에서 free.dts 및 odbc.ini를 사용합니다.QSqlQuery는 "???"을 반환합니다. 없음 영어 문자열

반환 형식이 UTF16이되도록 QSqlQuery를 설정하는 방법은 무엇입니까?

반환되는 형식은 무엇입니까?

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); 
     } 
    } 

    // ... 
} 

답변

0

나는 client charset = UTF-8freetds.conf 파일

[SERVER_1] 
host  = 192.168.192.44 
instance = SQLEXPRESS 
tds version = 8.0 
client charset = UTF-8 
에 추가해야합니다 라인을 솔루션을 발견
관련 문제