Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-6928

odbc driver expects that unicode is 16bit when system is using 32bit

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 4.6.3
    • 4.5.3
    • SQL Support
    • None
    • Ubuntu 9.10 32bit, gcc4
    • c55a99965d8c08d5f924d49db4fe4aa49df80961, 0c12cec56c73342735b51e8aa21c8f0d7fe20c16

    Description

      in odbc driver there is detection if driver supports unicode and if yes then it silently expects that driver returns 16bit unicode. however in linux when iodbc is used wchar_t is expected to be 32bit value. because of this odbc always fails to read anything from text fields

      i didn't tried to change it yet, but from quick look it should be solved if instead of QChar wchar_t would be used in conversions. according to qt docs QChar is always 16bit value, while wchar_t is used as system defines it, which means 16bit in windows and 32 bit in linux

      this especially shows up when qt is used with head version of freeTDS driver (from cvs) which already supports unicode. stable version (0.82) doesn't so this doesn't happen with it

      Attachments

        1. qsql_odbc.diff
          6 kB
        2. qsql_odbc.patch
          1 kB

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              bilking Bill King
              selmi Michal Seliga
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes