-
UID:7394
-
- 注册时间2006-06-03
- 最后登录2024-05-29
- 在线时间9894小时
-
- 发帖5580
- 搜Ta的帖子
- 精华2
- 金钱56167
- 威望5627
- 贡献值20
- 好评度5629
-
访问TA的空间加好友用道具
|
Re:回 2楼(dbzhang800) 的帖子
引用第5楼iiiyyyhhhsss于2010-05-30 18:13发表的 回 2楼(dbzhang800) 的帖子 : t 但我查过,那个编码name列表里没有"Latin-1",也没有"Ascii",但以下这句却能正常使用... QTextCodec::codecForName ("Latin-1")
不清楚你提到的name是指的什么。 如果是说manual给出的 The supported encodings are: ... * IBM 874 * ISO 2022-JP * ISO 8859-1 to 10 * ISO 8859-13 to 16 * Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml
...
而认不出来 ISO 8859-1 就是 Latin1的话,就需要补补课了。 如果你运行了 - qDebug()<<QTextCodec::availableCodecs();
你应该得到类似下面的代码 (具体结果和你的Qt提供的解码插件有关),下面贴的是 windows 下Qt4.6 的默认结果 ("GBK", "CP936", "MS936", "windows-936", "roman8", "hp-roman8", "csHPRoman8", "TIS-620", "ISO 8859-11", "WINSAMI2", "WS2", "Apple Roman", "macintosh", "MacRoman", "windows-1258", "CP1258", "windows-1257", "CP1257", "windows-1256", "CP1256", "windows-1255", "CP1255", "windows-1254", "CP1254", "windows-1253", "CP1253", "windows-1252", "CP1252", "windows-1251", "CP1251", "windows-1250", "CP1250", "IBM866", "CP866", "csIBM866", "IBM874", "CP874", "IBM850", "CP850", "csPC850Multilingual", "ISO-8859-16", "iso-ir-226", "latin10", "ISO-8859-14", "iso-ir-199", "latin8", "iso-celtic", "ISO-8859-13", "ISO-8859-10", "iso-ir-157", "latin6", "ISO-8859-10:1992", "csISOLatin6", "ISO-8859-9", "iso-ir-148", "latin5", "csISOLatin5", "ISO-8859-8", "ISO 8859-8-I", "iso-ir-138", "hebrew", "csISOLatinHebrew", "ISO-8859-7", "ECMA-118", "greek", "iso-ir-126", "csISOLatinGreek", "ISO-8859-6", "ISO-8859-6-I", "ECMA-114", "ASMO-708", "arabic", "iso-ir-127", "csISOLatinArabic", "ISO-8859-5", "cyrillic", "iso-ir-144", "csISOLatinCyrillic", "ISO-8859-4", "latin4", "iso-ir-110", "csISOLatin4", "ISO-8859-3", "latin3", "iso-ir-109", "csISOLatin3", "ISO-8859-2", "latin2", "iso-ir-101", "csISOLatin2", "KOI8-U", "KOI8-RU", "KOI8-R", "csKOI8R", "UTF-8", "ISO-8859-1", "latin1", "CP819", "IBM819", "iso-ir-100", "csISOLatin1", "ISO-8859-15", "latin9", "UTF-32LE", "UTF-32BE", "UTF-32", "UTF-16LE", "UTF-16BE", "UTF-16", "System", "Iscii-Mlm", "Iscii-Knd", "Iscii-Tlg", "Iscii-Tml", "Iscii-Ori", "Iscii-Gjr", "Iscii-Pnj", "Iscii-Bng", "Iscii-Dev", "TSCII", "GB18030", "GB2312", "EUC-JP", "ISO-2022-JP", "Shift_JIS", "JIS7", "SJIS", "MS_Kanji", "EUC-KR", "cp949", "Big5", "Big5-HKSCS", "Big5-ETen", "CP950")
上面红色部分都是你提到的 Latin-1 的同义词。 当你执行 - QTextCodec::codecForName ("Latin-1")
时,会和上面的编码挨个比较,比较时将 忽略大小写,忽略除字符和数字外的任何字符,也就是说 "Latin - 1" "LATIN-1" "Latin1" “lAtin 1” 等等 在Qt中都是有效的写法 [ 此帖被dbzhang800在2010-05-30 20:35重新编辑 ]
|