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

Use ICU in Windows SDK for codecs

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • None
    • Windows

    Description

      Currently, our standard binaries on Windows do only support very few codecs via QStringConverter.

      QStringConverter::availableCodecs() output with "Desktop Qt 6.8.0 MSVC 2022 amd64bit":

      QList("UTF-8", "UTF-16", "UTF-16LE", "UTF-16BE", "UTF-32", "UTF-32LE", "UTF-32BE", "ISO-8859-1")
      

      WIndows 10 Creators Edition and later provides some custom version of ICU though. This is not a fully fledged ICU & has custom includes etc, but offers way more codecs:

      QList("Locale", "UTF-8", "UTF-16", "UTF-16BE", "UTF-16LE", "UTF-32", "UTF-32BE", "UTF-32LE", "UTF16_PlatformEndian", "UTF16_OppositeEndian", "UTF32_PlatformEndian", "UTF32_OppositeEndian", "UTF-16BE,version=1", "UTF-16LE,version=1", "UTF-16,version=1", "UTF-16,version=2", "UTF-7", "IMAP-mailbox-name", "SCSU", "BOCU-1", "CESU-8", "ISO-8859-1", "US-ASCII", "GB18030", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ibm-813_P100-1995", "ISO-8859-8", "ibm-916_P100-1995", "ISO-8859-9", "ISO-8859-10", "iso-8859_11-2001", "ISO-8859-13", "ISO-8859-14", "ISO-8859-15", "ibm-942_P12A-1999", "Shift_JIS", "ibm-943_P130-1999", "ibm-33722_P12A_P12A-2009_U2", "ibm-33722_P120-1999", "ibm-954_P101-2007", "EUC-JP", "ibm-1373_P100-2002", "Big5", "ibm-950_P110-1999", "Big5-HKSCS", "ibm-5471_P100-2006", "ibm-1386_P100-2001", "GBK", "GB2312", "GB_2312-80", "euc-tw-2014", "ibm-964_P110-1999", "ibm-949_P110-1999", "ibm-949_P11A-1999", "EUC-KR", "ibm-971_P100-1995", "cp1363", "ibm-1363_P110-1997", "KSC_5601", "windows-874-2000", "TIS-620", "ibm-1162_P100-1999", "IBM437", "ibm-720_P100-1997", "ibm-737_P100-1997", "IBM775", "IBM850", "cp851", "IBM852", "IBM855", "ibm-856_P100-1995", "IBM857", "IBM00858", "IBM860", "IBM861", "IBM862", "IBM863", "IBM864", "IBM865", "IBM866", "ibm-867_P100-1998", "IBM868", "IBM869", "KOI8-R", "ibm-901_P100-1999", "ibm-902_P100-1999", "ibm-922_P100-1999", "KOI8-U", "ibm-4909_P100-1999", "windows-1250", "windows-1251", "windows-1252", "windows-1253", "windows-1254", "windows-1255", "windows-1256", "windows-1257", "windows-1258", "ibm-1250_P100-1995", "ibm-1251_P100-1995", "ibm-1252_P100-2000", "ibm-1253_P100-1995", "ibm-1254_P100-1995", "ibm-1255_P100-1995", "ibm-5351_P100-1998", "ibm-1256_P110-1997", "ibm-5352_P100-1998", "ibm-1257_P100-1995", "ibm-5353_P100-1998", "ibm-1258_P100-1997", "macintosh", "x-mac-greek", "x-mac-cyrillic", "x-mac-centraleurroman", "x-mac-turkish", "hp-roman8", "Adobe-Standard-Encoding", "ibm-1006_P100-1995", "ibm-1098_P100-1995", "ibm-1124_P100-1996", "ibm-1125_P100-1997", "ibm-1129_P100-1997", "ibm-1131_P100-1997", "ibm-1133_P100-1997", "gsm-03.38-2009", "ISO-2022-JP", "ISO-2022-JP-1", "ISO-2022-JP-2", "ISO_2022,locale=ja,version=3", "ISO_2022,locale=ja,version=4", "ISO-2022-KR", "ISO_2022,locale=ko,version=1", "ISO-2022-CN", "ISO-2022-CN-EXT", "ISO_2022,locale=zh,version=2", "HZ-GB-2312", "x11-compound-text", "ISCII,version=0", "ISCII,version=1", "ISCII,version=2", "ISCII,version=3", "ISCII,version=4", "ISCII,version=5", "ISCII,version=6", "ISCII,version=7", "ISCII,version=8", "LMBCS-1", "IBM037", "IBM273", "IBM277", "IBM278", "IBM280", "IBM284", "IBM285", "IBM290", "IBM297", "IBM420", "IBM424", "IBM500", "ibm-803_P100-1999", "IBM-Thai", "IBM870", "IBM871", "ibm-875_P100-1995", "IBM918", "ibm-930_P120-1999", "ibm-933_P110-1995", "ibm-935_P110-1999", "ibm-937_P110-1999", "ibm-939_P120-1999", "ibm-1025_P100-1995", "IBM1026", "IBM1047", "ibm-1097_P100-1995", "ibm-1112_P100-1995", "ibm-1122_P100-1999", "ibm-1123_P100-1995", "ibm-1130_P100-1997", "ibm-1132_P100-1998", "ibm-1137_P100-1999", "ibm-4517_P100-2005", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ibm-1153_P100-1999", "ibm-1154_P100-1999", "ibm-1155_P100-1999", "ibm-1156_P100-1999", "ibm-1157_P100-1999", "ibm-1158_P100-1999", "ibm-1160_P100-1999", "ibm-1164_P100-1999", "ibm-1364_P110-2007", "ibm-1371_P100-1999", "ibm-1388_P103-2001", "ibm-1390_P110-2003", "ibm-1399_P110-2003", "ibm-5123_P100-1999", "ibm-8482_P100-1999", "ibm-16684_P110-2003", "ibm-4899_P100-1998", "ibm-4971_P100-1999", "ibm-9067_X100-2005", "ibm-12712_P100-1998", "ibm-16804_X110-1999", "ibm-37_P100-1995,swaplfnl", "ibm-1047_P100-1995,swaplfnl", "ibm-1140_P100-1997,swaplfnl", "ibm-1141_P100-1997,swaplfnl", "ibm-1142_P100-1997,swaplfnl", "ibm-1143_P100-1997,swaplfnl", "ibm-1144_P100-1997,swaplfnl", "ibm-1145_P100-1997,swaplfnl", "ibm-1146_P100-1997,swaplfnl", "ibm-1147_P100-1997,swaplfnl", "ibm-1148_P100-1997,swaplfnl", "ibm-1149_P100-1997,swaplfnl", "ibm-1153_P100-1999,swaplfnl", "ibm-12712_P100-1998,swaplfnl", "ibm-16804_X110-1999,swaplfnl", "ebcdic-xml-us")
      

      We should consider using this API unconditionally on Windows.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-132056
          # Subject Branch Project Status CR V

          Activity

            People

              owolff Oliver Wolff
              kkohne Kai Köhne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There is 1 open Gerrit change