Weekdays (Sunday and Monday) in Russian are displayed ugly in forecast tab. Sometimes they're cut, sometimes they aren't displayed at all. In .xsessions-errors I get this: (xfce4-weather-plugin:11535): Gtk-WARNING **: Failed to set text from markup due to error parsing markup: Error on line 1 char 12: Invalid UTF-8 encoded text - not valid '<b>\xa8\xe3n\u0008</b>' (xfce4-weather-plugin:11535): Gtk-WARNING **: Failed to set text from markup due to error parsing markup: Error on line 1 char 12: Invalid UTF-8 encoded text - not valid '<b>\xd0{m\u0008</b>' I believe this happens because of insufficient buffer variable size. In Russian both words Sunday and Monday have 11 characters. In UTF-8 Cyrillic symbol occupies two bytes.
I guess this is because weather plugin uses strftime directly, using LC_CTIME, while gtk/glib expects pure UTF-8. Datetime plugin seems to have a utf8strftime which may be usable in weather plugin too.
Created attachment 1679 Use UTF8 for time conversion Attached patch seems to fix the problem at least wrt. debian bug #483952
Created attachment 1680 Another one patch
On my box (gentoo with unicode locale) first patch seems a little bit useless because strftime returns utf8 string witch doesn't fit into buffer DAY_LOC_N length. So, the only thing that I did - just increase size of day_loc buffer. Works fine for me.
Well, the problem is not really with UTF-8 locales (except, maybe, the string size, but it's *another* problem). It's just that gtk expects an UTF-8 strings so it needs to be encoded as UTF-8 if you're using ISO. If you're already in UTF8 no problem with the current code, and the patch would be a no-op.
I get this bug with ru_RU.UTF-8 locale. About 'strftime' function from http://www.gnu.org/software/libtool/manual/libc/Formatting-Calendar-Time.html Function: size_t strftime (char *s, size_t size, const char *template, const struct tm *brokentime) ... The size parameter can be used to specify the maximum number of characters to be stored in the array s, including the terminating null character. If the formatted time requires more than size characters, strftime returns zero and the _contents of the array s are undefined_. Otherwise the return value indicates the number of characters placed in the array s, not including the terminating null character. In general case 'undefined' != 'UTF-8 encoded string' =). So I guess string size is *this* problem.
Oh, sorry. So your problem (and this bug then :) ) is not related to “mine” which is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=483952 and is fixed by the attached patch. Sorry for hi-jacking your bug :)
I'm debian user... Will you fix *mine* bug in debian? ;)
That should be possible :) (but it'd be nice to have upstream comment on both issues+patches anyway)
Re-assigning to Colin Leroy who is the new maintainer of the plugin.
This should be fixed (both bugs discussed here) in SVN r7545.