If you are reading this page, maybe you have probably problems with some garbage characters (diacritics) in incomming messages from the contacts using QIP 2005. Formerly, this problems could be solved by switching identification from QIP 2005 (UTF-8)
to QIP 2005
. But this no longer works in newer QIP versions and Russian authors aren't ever going to solve this bug (there's a recommendation to switch to the QIP Infium). For this reason, a QIP Decoder plugin has been created.
Copy unpacked library to pidgin plugins directory on Windows, or to „/usr/lib/purple-2“ (for all users) or „~/.purple/plugins“ (for current user) directory on Linux. In plugin settings „Tools/Plugins“ (Ctrl+U) enable the QIP Decoder plugin.

Version 1.3 allows to set codepage independently for each one contact. For this to work, you must create file qips.xml in „C:\Documents and Settings\User\Application data\.purple“ directory on Windows, or in „~/.purple“ on Linux.
Example: Most of your contacts have QIP and use codepage # 1250. Howewer, your contact 111222333 has QIP and is using codepage # 1252. Next contact 222333444 has Pidgin and writes in Russian (it corresponds to the codepage # 1251). This contact requires disabling the QIP Decoder, which would corrupt cyrillic by its operation.
<?xml version='1.0' encoding='UTF-8' ?>
<qips>
<default enabled='1' codepage='1250' />
<qip uin='111222333' enabled='1' codepage='1252' />
<qip uin='222333444' enabled='0' />
</qips>
Windows codepages on Wikipedia.
Please, don't distribute binary files (dynamic libraries or shared objects) without the enclosed README file and the LICENSE!
The plugin can be used in the same or newer Pidgin version (e.g. plugin for Pidgin v2.5.2 can be used in v2.5.4). The plugin can be also probably used in different version of same Linux distribution (e.g. plugin for Ubuntu 8.04 can be used in 8.10), be careful with different architecture (x86 vs. x86–64). The plugin version 1.0 is no longer recommended.
I'm not able to make a build for every distro. If you make the build, which isn't listed below, you can send it to me, with CPU type, operating system type and Pidgin version, to serve other people as well.
Download QIP Decoder v1.3 build for
Download QIP Decoder v1.2 build for
Download QIP Decoder v1.1 build for
Download QIP Decoder v1.0 build for
This plugin corrects invalid incoming QIP 2005 diacritics and other local symbols for many world languages (character encoding WINDOWS-1250, 1251, 1252, …, 1258). Note that it tries to convert all incoming ICQ messages regardless, if the sender is QIP client or not. It means, there may be some Unicode collisions and you can lost Unicode support for cyrillic alphabet (if you are writing with someone using it on ICQ but not QIP).
The encoding correction process can be explained on the following sequence: „ANSI code page (1250..1258) in QIP client“ ⇒ „QIP broken-WINDOWS-1251-to-Unicode encoder“ ⇒ „The Internet“ ⇒ „Pidgin + QIP Decoder to ANSI code page (1250..1258)“ ⇒ „Corrected UTF-8 in Pidgin“
Therefore, you must have set same character encoding like the encoding in Windows runing the QIP. The QIP Decoder determines the encoding from your current system ANSI code page. On Unix, this is simulated by determining corresponding ANSI code page from your locale set in the LANG
environment variable. You can override automatic code page by setting the codepage number (e.g. 1250
) in the QIPACP
environment variable on both Windows and Unix.
I haven't tested all languages, especially the Western languages. So please let me know if it works or not (email is on the page bottom). (The Czech language is already tested.)
For building qip-decoder from source, follow the official Pidgin plugin instructions and the section „PLUGINS“ in „README“ file (in Pidgin source). Simply, it says, you have to
./configure,
make qip-decoder.so.
Example of QIP Decoder compilation on Linux
Download and unpack the Pidgin source
$ wget http://downloads.sourceforge.net/pidgin/pidgin-2.5.6.tar.bz2
$ tar -xjf pidgin-2.5.6.tar.bz2
$ cd pidgin-2.5.6
Compilation configuration
$ ./configure
If some package or header is needed, install or disable, i.e.:
$ ./configure --disable-avahi --disable-dbus --disable-nm --disable-perl --disable-sm --disable-screensaver --disable-startup-notification
Download and unpack the QIP Decoder
$ cd libpurple/plugins
$ wget http://www.sedaha.cz/qip-decoder/qip-decoder-1.3.src.zip
$ unzip qip-decoder-1.3.src.zip qip-decoder.c
Compile the QIP Decoder
$ make qip-decoder.so
For questions, comments and bug reports, you can write me an e-mail.
Comments
QIP Decoder v1.3 build
QIP Decoder v1.3 build
works fine with Pidgin 2.7.1 and Ubuntu 10.04