From: Robert <car...@pf...> - 2002-11-18 17:29:30
|
Hello! I use gaim from CVS. I have one trouble. When talking to people using ICQ200x. I cannot send and receive polish characters properly. They appear on both sides as encoded in ISO8859-1. In fact - they are encoded as CP1250 (Windows-EE) - pseudo Microsoft standard. Well - I talked with Sean Egan on ICQ. As suggested, I applied a small patch to oscar.c: if (args->icbmflags & AIM_IMFLAGS_CUSTOMCHARSET) { debug_printf ("Custom character set: %d %d\n", args->charset, args->charsubset); + if (args->charset == 3){ + tmp = g_convert(args->msg, args->msglen, "UTF-8", "CP1250", NULL, &convlen, &err); + if (err) { + debug_printf("CP1250 IM conversion: %s\n", err->message); + tmp = strdup(_("(There was an error receiving this message)")); + } + } } Why 3? Because it appeared when executed gaim -d. charsubset was 65536. It did the thing. I receive messages with proper characters displayed. But ... What with sending messages? I see that they are sent always as UTF. Have no idea how to g_convert messages _only_ sent to people using windows icq200x client. I am afraid there is a need to follow whole conversation :( I don't know a way to _guess_ client version or client encoding. Talking to people using gaim (oscar plugin) works perfectly (almost perfectly - when I am offline and get message with polish characters, after going online, I receive empty or partial message - without polish chars). Have you got any ideas? Maybe I should study other clients code (licq, ickle) to find a solution? Or libicq2000? Best regards, Robert |