Menu

#14 UTF-8 only mode

open-wont-fix
5
2007-09-21
2007-09-20
Chris Allen
No

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

Discussion

  • Stephen Grier

    Stephen Grier - 2007-09-21
    • status: open --> closed-wont-fix
     
  • Stephen Grier

    Stephen Grier - 2007-09-21

    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.

     
  • Chris Allen

    Chris Allen - 2007-09-21

    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.

     
  • Chris Allen

    Chris Allen - 2007-09-21
    • status: closed-wont-fix --> open-wont-fix
     

Log in to post a comment.