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. QSqlQuery error with translated text
Forum Updated to NodeBB v4.3 + New Features

QSqlQuery error with translated text

Scheduled Pinned Locked Moved Solved General and Desktop
24 Posts 4 Posters 2.9k Views 2 Watching
  • 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.
  • K KroMignon
    4 Aug 2021, 10:51

    @SPlatten said in QSqlQuery error with translated text:

    having implemented that, I'm still getting the same issue.

    Out of curiosity, the SQL command you want to execute is CALL addAuditEntry("Serveur de formation connecté à la base de données");, right?

    Did you try to do it by hand, on command line or with phpMyAdmin/MySQL Workbench?

    S Offline
    S Offline
    SPlatten
    wrote on 4 Aug 2021, 11:02 last edited by
    #21

    @KroMignon , Now I'm confused, having put into HeidiSQL:

    CALL addAuditEntry("Serveur de formation connecté à la base de données");
    

    It works with no error reported, so why doesn't the same work when I do:

    QSqlQuery query;
    query.prepare("CALL addAuditEntry(?);");
    query.addBindValue(crstrEntry);
    query.exec();
    

    Kind Regards,
    Sy

    K 1 Reply Last reply 4 Aug 2021, 11:07
    0
    • S SPlatten
      4 Aug 2021, 11:02

      @KroMignon , Now I'm confused, having put into HeidiSQL:

      CALL addAuditEntry("Serveur de formation connecté à la base de données");
      

      It works with no error reported, so why doesn't the same work when I do:

      QSqlQuery query;
      query.prepare("CALL addAuditEntry(?);");
      query.addBindValue(crstrEntry);
      query.exec();
      
      K Offline
      K Offline
      KroMignon
      wrote on 4 Aug 2021, 11:07 last edited by
      #22

      @SPlatten said in QSqlQuery error with translated text:

      It works with no error reported, so why doesn't the same work when I do:

      I suppose the problem is the content of crstrEntry.
      Is this working?

      QSqlQuery query;
      query.prepare("CALL addAuditEntry(?);");
      query.addBindValue("Serveur de formation connecté à la base de données");
      query.exec();
      

      It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

      S 2 Replies Last reply 4 Aug 2021, 11:30
      0
      • K KroMignon
        4 Aug 2021, 11:07

        @SPlatten said in QSqlQuery error with translated text:

        It works with no error reported, so why doesn't the same work when I do:

        I suppose the problem is the content of crstrEntry.
        Is this working?

        QSqlQuery query;
        query.prepare("CALL addAuditEntry(?);");
        query.addBindValue("Serveur de formation connecté à la base de données");
        query.exec();
        
        S Offline
        S Offline
        SPlatten
        wrote on 4 Aug 2021, 11:30 last edited by SPlatten 8 Apr 2021, 11:35
        #23

        @KroMignon , crstrError is:

        const QString cstrError(crErr.text());
        

        Where crErr is:

        const QSqlError& crErr
        

        Interestingly in Qt Creator / Debugger, when ** crstrError** is viewed in the debugger contains:

         Locals                 
                                     crstrEntry           "Serveur de formation connect� � la base de donn�es"         QString
                                                   [0]         'S'          83          0x0053 QChar
                                                   [1]         'e'          101        0x0065 QChar
                                                   [2]         'r'           114        0x0072 QChar
                                                   [3]         'v'          118        0x0076 QChar
                                                   [4]         'e'          101        0x0065 QChar
                                                   [5]         'u'          117        0x0075 QChar
                                                   [6]         'r'           114        0x0072 QChar
                                                   [7]         ' '           32          0x0020 QChar
                                                   [8]         'd'          100        0x0064 QChar
                                                   [9]         'e'          101        0x0065 QChar
                                                   [10]       ' '           32          0x0020 QChar
                                                   [11]       'f'           102        0x0066 QChar
                                                   [12]       'o'          111        0x006f  QChar
                                                   [13]       'r'           114        0x0072 QChar
                                                   [14]       'm'         109        0x006d QChar
                                                   [15]       'a'          97          0x0061 QChar
                                                   [16]       't'           116        0x0074 QChar
                                                   [17]       'i'           105        0x0069 QChar
                                                   [18]       'o'          111        0x006f  QChar
                                                   [19]       'n'          110        0x006e QChar
                                                   [20]       ' '           32          0x0020 QChar
                                                   [21]       'c'           99          0x0063 QChar
                                                   [22]       'o'          111        0x006f  QChar
                                                   [23]       'n'          110        0x006e QChar
                                                   [24]       'n'          110        0x006e QChar
                                                   [25]       'e'          101        0x0065 QChar
                                                   [26]       'c'           99          0x0063 QChar
                                                   [27]       't'           116        0x0074 QChar
                                                   [28]       '�'        65533   0xfffd    QChar
                                                   [29]       ' '           32          0x0020 QChar
                                                   [30]       '�'        65533   0xfffd    QChar
                                                   [31]       ' '           32          0x0020 QChar
                                                   [32]       'l'           108        0x006c  QChar
                                                   [33]       'a'          97          0x0061 QChar
                                                   [34]       ' '           32          0x0020 QChar
                                                   [35]       'b'          98          0x0062 QChar
                                                   [36]       'a'          97          0x0061 QChar
                                                   [37]       's'           115        0x0073 QChar
                                                   [38]       'e'          101        0x0065 QChar
                                                   [39]       ' '           32          0x0020 QChar
                                                   [40]       'd'          100        0x0064 QChar
                                                   [41]       'e'          101        0x0065 QChar
                                                   [42]       ' '           32          0x0020 QChar
                                                   [43]       'd'          100        0x0064 QChar
                                                   [44]       'o'          111        0x006f  QChar
                                                   [45]       'n'          110        0x006e QChar
                                                   [46]       'n'          110        0x006e QChar
                                                   [47]       '�'        65533   0xfffd    QChar
                                                   [48]       'e'          101        0x0065 QChar
                                                   [49]       's'           115        0x0073 QChar
        

        Its looking like the storage in QString is the bit thats messed up and requires fixing?
        See offsets 28, 30 and 47.

        Found this:
        https://forum.qt.io/topic/113781/qt-5-14-1-qsqlmodel-and-french-characters/17

        Looks like exactly what I'm seeing.

        Kind Regards,
        Sy

        1 Reply Last reply
        0
        • K KroMignon
          4 Aug 2021, 11:07

          @SPlatten said in QSqlQuery error with translated text:

          It works with no error reported, so why doesn't the same work when I do:

          I suppose the problem is the content of crstrEntry.
          Is this working?

          QSqlQuery query;
          query.prepare("CALL addAuditEntry(?);");
          query.addBindValue("Serveur de formation connecté à la base de données");
          query.exec();
          
          S Offline
          S Offline
          SPlatten
          wrote on 4 Aug 2021, 11:41 last edited by
          #24

          @KroMignon , found the problem and fixed. The issue was the QString was being converted back to a const char* which was a bit of old code where it wasn't and shouldn't be converted. Just removed .toLatin1().data() now its perfect.

          Thank you everyone for your help on this.

          Kind Regards,
          Sy

          1 Reply Last reply
          0

          21/24

          4 Aug 2021, 11:02

          • Login

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