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. html encoding
Forum Update on Monday, May 27th 2025

html encoding

Scheduled Pinned Locked Moved Unsolved General and Desktop
11 Posts 5 Posters 2.5k 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.
  • mrdebugM Offline
    mrdebugM Offline
    mrdebug
    wrote on last edited by
    #1

    Hi, is there a function to translate a standard charset word to html? For example:

    "perché" -> "perché"
    

    Need programmers to hire?
    www.labcsp.com
    www.denisgottardello.it
    GMT+1
    Skype: mrdebug

    raven-worxR 1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      https://doc.qt.io/qt-5/qstring.html#toHtmlEscaped

      (Z(:^

      1 Reply Last reply
      2
      • sierdzioS Offline
        sierdzioS Offline
        sierdzio
        Moderators
        wrote on last edited by
        #3

        Hm although that probably won't work for é character :/

        (Z(:^

        1 Reply Last reply
        0
        • sierdzioS Offline
          sierdzioS Offline
          sierdzio
          Moderators
          wrote on last edited by
          #4

          Perhaps QUrl would work better here https://doc.qt.io/qt-5/qurl.html#toPercentEncoding

          (Z(:^

          1 Reply Last reply
          0
          • mrdebugM mrdebug

            Hi, is there a function to translate a standard charset word to html? For example:

            "perché" -> "perché"
            
            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by
            #5

            @mrdebug
            you can traverse the string char-wise and replace each unicode character >= 128 with &#<num> or &#x<unicode-hex-val>
            For the named entities (like &eacute;) you once will need to create a static replacement map.

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            1 Reply Last reply
            6
            • JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #6

              @sierdzio

              Perhaps QUrl would work better here https://doc.qt.io/qt-5/qurl.html#toPercentEncoding

              I have been known in the past to "cheat" by using url encoding rules on HTML (e.g. in JavaScript) like @sierdzio suggests. But be aware the rules are not the same (HTML encoing != URL encoding), it's naughty and does not work in all cases.

              Like @raven-worx says, if you want things like &eacute; you have to do this by hand every time, following voluminous lists like the reference he gives. Why languages/libraries do not seem to supply a useful function for this because it gets asked/wanted a lot, I do not know.

              1 Reply Last reply
              3
              • mrdebugM Offline
                mrdebugM Offline
                mrdebug
                wrote on last edited by
                #7

                Many thanks for your support. I need only a function to translate the IoT device descriptions in a correct html format to send notification emails.
                So this function is enough for me.

                QString TextToHTML(QString Value) {
                    Value.replace("à", "&agrave;");
                    Value.replace("è", "&egrave;");
                    Value.replace("é", "&eacute;");
                    Value.replace("ì", "&igrave;");
                    Value.replace("ò", "&ograve;");
                    Value.replace("ù", "&agrave;");
                    return Value;
                }
                

                This function is not so cool but could be enough.

                Need programmers to hire?
                www.labcsp.com
                www.denisgottardello.it
                GMT+1
                Skype: mrdebug

                JonBJ raven-worxR 2 Replies Last reply
                0
                • mrdebugM mrdebug

                  Many thanks for your support. I need only a function to translate the IoT device descriptions in a correct html format to send notification emails.
                  So this function is enough for me.

                  QString TextToHTML(QString Value) {
                      Value.replace("à", "&agrave;");
                      Value.replace("è", "&egrave;");
                      Value.replace("é", "&eacute;");
                      Value.replace("ì", "&igrave;");
                      Value.replace("ò", "&ograve;");
                      Value.replace("ù", "&agrave;");
                      return Value;
                  }
                  

                  This function is not so cool but could be enough.

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by JonB
                  #8

                  @mrdebug
                  Yes this is what you have to do. However, while you are there, what are you doing about any characters which must be entitized for correct HTML, like < -> &lt; ? I always do at least the 4: &lt;, &amp;, &quot; & &apos;. @sierdzio 's https://doc.qt.io/qt-5/qstring.html#toHtmlEscaped will do you for that. You might like to call that [at the start of, not the end!] in your TextToHTML() function.

                  aha_1980A 1 Reply Last reply
                  0
                  • mrdebugM mrdebug

                    Many thanks for your support. I need only a function to translate the IoT device descriptions in a correct html format to send notification emails.
                    So this function is enough for me.

                    QString TextToHTML(QString Value) {
                        Value.replace("à", "&agrave;");
                        Value.replace("è", "&egrave;");
                        Value.replace("é", "&eacute;");
                        Value.replace("ì", "&igrave;");
                        Value.replace("ò", "&ograve;");
                        Value.replace("ù", "&agrave;");
                        return Value;
                    }
                    

                    This function is not so cool but could be enough.

                    raven-worxR Offline
                    raven-worxR Offline
                    raven-worx
                    Moderators
                    wrote on last edited by raven-worx
                    #9

                    @mrdebug said in html encoding:
                    instead of

                    Value.replace("à", "&agrave;");
                    

                    better do

                    Value.replace( QChar(0x00C0)/*à*/,  QStringLiteral("&agrave;"));
                    

                    it's more robust.

                    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                    If you have a question please use the forum so others can benefit from the solution in the future

                    1 Reply Last reply
                    0
                    • JonBJ JonB

                      @mrdebug
                      Yes this is what you have to do. However, while you are there, what are you doing about any characters which must be entitized for correct HTML, like < -> &lt; ? I always do at least the 4: &lt;, &amp;, &quot; & &apos;. @sierdzio 's https://doc.qt.io/qt-5/qstring.html#toHtmlEscaped will do you for that. You might like to call that [at the start of, not the end!] in your TextToHTML() function.

                      aha_1980A Offline
                      aha_1980A Offline
                      aha_1980
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @JonB said in html encoding:

                      @mrdebug
                      Yes this is what you have to do. However, while you are there, what are you doing about any characters which must be entitized for correct HTML, like < -> &lt; ? I always do at least the 4: &lt;, &amp;, &quot; & &apos;.

                      That is, as @sierdzio already pointed out, https://doc.qt.io/qt-5/qstring.html#toHtmlEscaped

                      Qt has to stay free or it will die.

                      JonBJ 1 Reply Last reply
                      1
                      • aha_1980A aha_1980

                        @JonB said in html encoding:

                        @mrdebug
                        Yes this is what you have to do. However, while you are there, what are you doing about any characters which must be entitized for correct HTML, like < -> &lt; ? I always do at least the 4: &lt;, &amp;, &quot; & &apos;.

                        That is, as @sierdzio already pointed out, https://doc.qt.io/qt-5/qstring.html#toHtmlEscaped

                        JonBJ Offline
                        JonBJ Offline
                        JonB
                        wrote on last edited by
                        #11

                        @aha_1980 Yep, missed that, corrected my post.

                        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