Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. ODBC Driver issue

ODBC Driver issue

Scheduled Pinned Locked Moved General and Desktop
14 Posts 4 Posters 8.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    EukeSnud
    wrote on last edited by
    #1

    As I published in "this thread":http://developer.qt.nokia.com/forums/viewthread/7316 I have issues with my ODBC connection, in detail with querying Umlauts from my oracle database.

    Here is my code:
    @ QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setDatabaseName(dsn);
    QString result;
    QString stmt = "select COL1,COL2 from TABLE_1";
    QSqlQuery query;
    QStringList delist;

    if (db.open(user,pwd)) {
    if (query.exec(stmt)) {
    while (query.next()) {
    result = query.value(0).toString() + " - " + query.value(1).toString();
    delist.push_back(result);
    }
    }
    else {
    QMessageBox msgbox;
    msgbox.setText( query.lastError().text() );
    msgbox.exec();
    }
    }
    delist.sort();
    cbDe->addItems(delist); // add to combobox@

    Umlauts like ä,ö,ü,ß are being displayed as "�" if I choose ODBC driver like in the code above. If I switch from "QODBC" to "QOCI" all Umlauts are transmitted correctly.

    This seems do be a driver issue, doesn't it?

    1 Reply Last reply
    0
    • E Offline
      E Offline
      EukeSnud
      wrote on last edited by
      #2

      bump

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Theophilus
        wrote on last edited by
        #3

        I have a similar if not the same problem. Umlauts like ä,ö,ü,ß are being displayed as “�”.
        I'm using Qt 4.7.3, Windows 7, VS2010, and a QODBC3-Driver. I had to build Qt 4.7.3 myself (used this webside: http://www.codeinvain.com/blog/378/installing-qt-4-7-x-for-vs2010), and I had to install the ODBC-plugin for Qt myself (http://doc.qt.nokia.com/4.7-snapshot/sql-driver.html#qodbc). Can anyone help?

        Know Yourelf - if you can...

        1 Reply Last reply
        0
        • T Offline
          T Offline
          Theophilus
          wrote on last edited by
          #4

          EukeSnud, I'm just curious: What Qt-Version, DB and OS are you using?

          Know Yourelf - if you can...

          1 Reply Last reply
          0
          • L Offline
            L Offline
            loladiro
            wrote on last edited by
            #5

            Does the Backend DB you use support Unicode? If so, could you post your DB structure to make sure there's no error in it.

            1 Reply Last reply
            0
            • T Offline
              T Offline
              Theophilus
              wrote on last edited by
              #6

              I'm using MaxDB (Version 7.6). The Table "DBPARAMETERS" says "_UNICODE" = "NO" and "DEFAULT_CODE" = "ASCII", which means that the varchar datatype is stored as ascii. However, the same software with an older Qt-Version (4.1) displays the Umlauts correctly.
              Here's some background information: I've been trying to integrate an older software into a new environment. The old software was compiled in VS2003 with Qt 4.1. Now I've compiled it in VS2010 with Qt 4.7.3. Both versions run properly on Windows 7 with the same ODBC-driver. However, the old one displays the Umlauts correctly, while the new one does not. Therefore, I think it is the newer Qt-Version that is giving me a hard time.

              Know Yourelf - if you can...

              1 Reply Last reply
              0
              • T Offline
                T Offline
                Theophilus
                wrote on last edited by
                #7

                This webside says that MaxDB up to and including version 7.6 uses the ASCII-characterset ISO 8859/1.2 (if you chose to use Ascii): http://maxdb.sap.com/doc/7_7/44/bb285be00215b2e10000000a155369/content.htm

                Know Yourelf - if you can...

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  loladiro
                  wrote on last edited by
                  #8

                  Try
                  @
                  QTextCodec::setCodecForLocale(QTextCodec::codecFromName("latin1"));
                  @
                  at the beginning of your application.

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    Theophilus
                    wrote on last edited by
                    #9

                    Neither
                    @
                    QTextCodec::setCodecForLocale(QTextCodec::codecForName("Latin1"));
                    @
                    nor
                    @
                    QTextCodec::setCodecForLocale(QTextCodec::codecForName("latin1"));
                    @
                    works.

                    Know Yourelf - if you can...

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      Theophilus
                      wrote on last edited by
                      #10

                      The following code changes the "�" to a "?". I do not know if that helps at all, to get to the source of the error.

                      Original code:
                      @
                      QString name =q2.value(1).toString(); //q2 being the QSqlQuery
                      @
                      Changed code (that changes the "�" to a "?"):
                      @
                      QByteArray encodedString = q2.value(1).toByteArray();
                      QTextCodec *codec = QTextCodec::codecForName("ISO 8859-1");
                      QString name = codec->toUnicode(encodedString);
                      @

                      Know Yourelf - if you can...

                      1 Reply Last reply
                      0
                      • E Offline
                        E Offline
                        EukeSnud
                        wrote on last edited by
                        #11

                        Qt Version is 4.7.3
                        Db Version is Oracle Enterprise 11.2.0.1.0
                        Os is Win7 Ultimate x64

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          Theophilus
                          wrote on last edited by
                          #12

                          Anyone any idea???

                          Know Yourelf - if you can...

                          1 Reply Last reply
                          0
                          • E Offline
                            E Offline
                            EukeSnud
                            wrote on last edited by
                            #13

                            bump
                            Still having this issue...

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Sebtm
                              wrote on last edited by
                              #14

                              I have the same problem with a Visual Fox Pro database with the ISO Latin-1 character encoding. I use Qt 4.7.4.

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved