Hi,
We currently have all our mail folders stored on the system with their names encoded in UTF-8 to avoid any nasty charset issues. The problem is SmartSieve (1.0 RC1) appears to insist on using a different charset for each language. This creates problems when displaying the folder list because it doesn't seem to display foreign characters correctly (maybe a bug? but even so it would be impossible to display Japanese folder names along side Spanish ones when charsets are used instead of UTF-8).
Anyway, it would be nice if it was possible to specify in just one place to use UTF-8 for *all* languages. At the moment I have to do the following to force it to work:
config.php
$default->charset = "UTF-8";
$default->language = "en_GB";
$default->user_select_lang = false;
locales.php
//$locales['en_GB']['charset'] = 'ISO-8859-1';
(I tried commenting out the charset for the other languages too but it doesn't work because it looks like "strings.php" has been encoded in each charset rather than UTF-8)
btw, we're using Debian "etch" with php5
Thanks,
Chris
Logged In: YES
user_id=607130
Originator: NO
Cyrus imapd (and most other IMAP servers) will store folder names as modified UTF-7 (Section 5.1.3 of rfc3501). SmartSieve will convert mUTF-7 folder names to the charset of the language you're displaying in, as you've noticed. If $default->charset is ISO-8859-1, as it is by default, certain characters will not display correctly.
If you have i18n folder names, the correct fix is to change $default->charset to UTF-8, which is what you've done. This is a feature not a bug. The default is ISO-8859-1 because some older browsers do not support UTF-8.
As for the non-english languages, we can only display these in the charset the translations are maintained in. If someone contributes a UTF-8 translation of a particular language I would be happy to include it in future releases.
I am closing this ticket because I don't think this is a problem. Please re-open if you have further comments.
Logged In: YES
user_id=610334
Originator: YES
Ah yes, UTF-7 forgot about that one - doh! Apologies, but you got my point.
As for the language files, one possibility is:
iconv -f ISO-8859-15 -t UTF-8 es_ES/strings.php
iconv -f KOI8-R -t UTF-8 ru_RU/strings.php
...
Or instead, maybe "SmartSieve.lib::text()" could convert from the charset used in the language file to the current display charset before returning the string?
Anyway, no big deal, just suggestions.