Index: src/OFHTTPResponse.m ================================================================== --- src/OFHTTPResponse.m +++ src/OFHTTPResponse.m @@ -115,14 +115,24 @@ encoding = OF_STRING_ENCODING_UTF_8; else if ([contentType hasSuffix: @"charset=iso-8859-1"]) encoding = OF_STRING_ENCODING_ISO_8859_1; else if ([contentType hasSuffix: @"charset=iso-8859-15"]) encoding = OF_STRING_ENCODING_ISO_8859_15; - else if ([contentType hasSuffix: @"charset=windows-1251"]) + else if ([contentType hasSuffix: @"charset=windows-1251"] || + [contentType hasSuffix: @"charset=cp1251"] || + [contentType hasSuffix: @"charset=cp-1251"]) encoding = OF_STRING_ENCODING_WINDOWS_1251; - else if ([contentType hasSuffix: @"charset=windows-1252"]) + else if ([contentType hasSuffix: @"charset=windows-1252"] || + [contentType hasSuffix: @"charset=cp1252"] || + [contentType hasSuffix: @"charset=cp-1252"]) encoding = OF_STRING_ENCODING_WINDOWS_1252; + else if ([contentType hasSuffix: @"charset=cp437"] || + [contentType hasSuffix: @"charset=cp-437"]) + encoding = OF_STRING_ENCODING_CODEPAGE_437; + else if ([contentType hasSuffix: @"charset=cp850"] || + [contentType hasSuffix: @"charset=cp-850"]) + encoding = OF_STRING_ENCODING_CODEPAGE_850; else if ([contentType hasSuffix: @"charset=macintosh"]) encoding = OF_STRING_ENCODING_MAC_ROMAN; } if (encoding == OF_STRING_ENCODING_AUTODETECT) Index: src/OFXMLParser.m ================================================================== --- src/OFXMLParser.m +++ src/OFXMLParser.m @@ -470,16 +470,28 @@ _encoding = OF_STRING_ENCODING_ISO_8859_1; else if ([value isEqual: @"iso-8859-15"]) _encoding = OF_STRING_ENCODING_ISO_8859_15; - else if ([value isEqual: @"windows-1251"]) + else if ([value isEqual: @"windows-1251"] || + [value isEqual: @"cp1251"] || + [value isEqual: @"cp-1251"]) _encoding = OF_STRING_ENCODING_WINDOWS_1251; - else if ([value isEqual: @"windows-1252"]) + else if ([value isEqual: @"windows-1252"] || + [value isEqual: @"cp1252"] || + [value isEqual: @"cp-1252"]) _encoding = OF_STRING_ENCODING_WINDOWS_1252; + else if ([value isEqual: @"cp437"] || + [value isEqual: @"cp-437"]) + _encoding = + OF_STRING_ENCODING_CODEPAGE_437; + else if ([value isEqual: @"cp850"] || + [value isEqual: @"cp-850"]) + _encoding = + OF_STRING_ENCODING_CODEPAGE_850; else if ([value isEqual: @"macintosh"]) _encoding = OF_STRING_ENCODING_MAC_ROMAN; else return false;