Mercurial > pidgin
changeset 28859:50256289be74
*** Plucked rev 1cd91846f484f7d7090d25b0e65d851a0dadcb90 (e894e488d2219b69664de488ee1af7f275f8817d):
Improved handling of the 0x00d charset in AIM, which is sent by mobile devices speaking ISO-8859-1. Try UTF-8 first (the encoding sent by iChat in a Direct IM with non-ASCII characters), then fall back to ISO-8859-1. Fixes #a13544, a bug created with the fix for iChat DIM encoding new in libpurple 2.6.4
applied changes from 6f3a1b3c52803e11d4cda1e0537c1270599e8d8e
through ed0a2a35c7e22519df27c50069c22b03e01c027a
*** Plucked rev e8ba4281669ae86859fd4e29f5d8ea0286af3903 (f05c54b03e6bbfdbff38c01697fbd353a969e05e):
Changelog the AIM/ICQ issue. Refs #10900.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 07 Jan 2010 23:43:26 +0000 |
parents | 4287ad77f137 |
children | 49f881831eb9 |
files | ChangeLog libpurple/protocols/oscar/oscar.c |
diffstat | 2 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jan 07 23:42:35 2010 +0000 +++ b/ChangeLog Thu Jan 07 23:43:26 2010 +0000 @@ -5,6 +5,10 @@ General: * Build-time fixes for Solaris. (Paul Townsend) + AIM and ICQ: + * Messages from some mobile clients are no longer displayed as + Chinese characters (broken in 2.6.4) + XMPP: * Do not crash when attempting to register for a new account on Windows.
--- a/libpurple/protocols/oscar/oscar.c Thu Jan 07 23:42:35 2010 +0000 +++ b/libpurple/protocols/oscar/oscar.c Thu Jan 07 23:43:26 2010 +0000 @@ -457,10 +457,10 @@ charsetstr1 = "ASCII"; charsetstr2 = purple_account_get_string(account, "encoding", OSCAR_DEFAULT_CUSTOM_ENCODING); } else if (charset == 0x000d) { - /* iChat sending unicode over a Direct IM connection = Unicode */ - /* Mobile AIM client on a Nokia 3100 and an LG VX6000 = ISO-8859-1 */ - charsetstr1 = "UTF-16BE"; - charsetstr2 = "UTF-8"; + /* iChat sending unicode over a Direct IM connection = UTF-8 */ + /* Mobile AIM client on multiple devices (including Blackberry Tour, Nokia 3100, and LG VX6000) = ISO-8859-1 */ + charsetstr1 = "UTF-8"; + charsetstr2 = "ISO-8859-1"; charsetstr3 = purple_account_get_string(account, "encoding", OSCAR_DEFAULT_CUSTOM_ENCODING); } else { /* Unknown, hope for valid UTF-8... */