Bug 23542

Summary: Forces default encodings to UTF-8, which turns out to be bad
Product: Telepathy Reporter: Michael Monreal <michael.monreal+bugs>
Component: hazeAssignee: Will Thompson <will>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/wjt/telepathy-haze;a=shortlog;h=refs/heads/i-am-so-sorry
Whiteboard: review+ with one change
i915 platform: i915 features:

Description Michael Monreal 2009-08-27 02:48:30 UTC
If someone sends messages with some non-ascii characters such as ä, ö, ü using ICQ (Meboo web client in this case), Empathy shows the character as "?" and adds

(There was an error receiving this message. Either you and $ICQ_NUMBER have different encodings selected, or $ICQ_NUMBER has a buggy client.)

This does not happen when using Meboo->Pidgin. Also it is interesting that all clients (Pidgin, Meboo and Haze) are based on libpurple.
Comment 1 Will Thompson 2009-08-27 03:06:45 UTC
You've got Pidgin configured to use a different character encoding for your ICQ account to what you're telling Haze to use. (Haze makes the default character encoding UTF-8 for all protocols where you have to choose, because I think it's the most sensible default.) If you change the character encoding for your ICQ account in Empathy to match what it's set to in Pidgin, things should work.

(On better protocols, where messages are either always in a sensible encoding or specify their own encoding (rather than the clients having to guess), this is not an issue. Maybe I should remove the overriding of the default in Haze.)
Comment 2 Michael Monreal 2009-08-27 03:14:18 UTC
Haze has UTF-8 set, I have not changed this. Note that I have never/configured pidgin on this machine. On my other machine with pidgin, ICQ is really configured to use ISO-8859-1 for some reason.

So setting Empathy to ISO-8859-1 is the only way?
Comment 3 Will Thompson 2009-08-27 05:15:45 UTC
(In reply to comment #2)
> Haze has UTF-8 set, I have not changed this. Note that I have never/configured
> pidgin on this machine. On my other machine with pidgin, ICQ is really
> configured to use ISO-8859-1 for some reason.
> 
> So setting Empathy to ISO-8859-1 is the only way?

Yeah. If your contacts were using UTF-8, you'd've seen similar problems in Pidgin, and would have had to change the encoding there.

As I said, I forced the default to be UTF-8 on all protocols in Haze. That's probably a mistake in hindsight. I'll fix it.
Comment 4 Will Thompson 2010-05-03 05:37:36 UTC
The attached branch cleans up the connection parameter code in Haze, and also removes the forced UTF-8 default for encodings.
Comment 5 Simon McVittie 2010-05-11 06:32:55 UTC
This looks good to me, but G_TYPE_HASH_TABLE is relatively new, so please check that Haze depends on a new enough GLib (and that this is acceptable, with your Maemo 5 hat on - i.e. either Maemo has it, or you don't mind no longer being able to release to Maemo).
Comment 6 Will Thompson 2010-06-09 14:23:07 UTC
(In reply to comment #5)
> This looks good to me, but G_TYPE_HASH_TABLE is relatively new, so please check
> that Haze depends on a new enough GLib (and that this is acceptable, with your
> Maemo 5 hat on - i.e. either Maemo has it, or you don't mind no longer being
> able to release to Maemo).

It's been there since 2.10, and Haze depends on glib 2.2x. Mergèd!
Comment 7 Will Thompson 2010-06-10 02:04:00 UTC
Will be in telepathy-haze 0.3.5!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.