Gentoo Archives: gentoo-web-user

From: Casey Allen Shobe <lists@×××××××××××××.com>
To: squirrelmail-devel@×××××××××××××××××.net
Cc: squirrelmail-i18n@×××××××××××××××××.net, gentoo-web-user@l.g.o, gentoo-server@l.g.o
Subject: [gentoo-web-user] Squirrelmail's i18n broken with PHP's mbstring enabled
Date: Sat, 25 Feb 2006 09:48:53
Hi everyone,

I've been working rather extensively trying to get all languages to work 
properly on my system with squirrelmail.

I am using Gentoo, PHP 5.1.1, and Squirrelmail 1.4.6-release.  For testing 
simplicity, it is simply a stock release from the Squirrelmail website, with 
all_locales added.

I have rebuilt PHP about 14 different ways trying to get things to work to no 
avail - here's what I've determined:

Gentoo has an "nls" USE flag, which if used, makes the PHP package dependant 
upon gettext, and enables building of both gettext and mbstring as shared 
extensions for PHP.

If the "nls" USE flag is disabled, selecting another language in 
Squirrelmail's Display Options works.  However, if Japanese is selected, 
warnings are shown about needing mbstring (although Japanese text *is* 
shown), and mail cannot be viewed because of the errors, though a folder list 
and mail index is shown, and one can browse the options pages, etc. all in 
Japanese but with the warning at the top.

If the "nls" USE flag is enabled, selecting another language does absolutely 
nothing, although the output encoding is changed to whatever is appropriate 
for that language.  Furthermore, if Japanese is selected, the subject lines 
in the message index are all truncated shorter than normal, with characters 
such as # and & shown before the '...'.

I have written a small test script (UTF-8 encoded) that verifies mbstring is 
ini_set ('mbstring.internal_encoding', 'UTF-8');
print 'This is a PHP file.';
print 'ログイン中メールをチェック';

I can successfully view this file in a web browser and verify that the 
encoding is actually ISO-2022-JP.

I normally use the Hardened-PHP patch and a number of other USE flags, however 
for the purposes of trying to get to the bottom of this, I built a PHP 
instance with no USE flags whatsoever, and then enabled only what 
Squirrelmail complained about needing - namely session and pcre support.  
This made no difference.

I also have a hacked-up version of squirrelmail that's been made to use UTF-8 
internally and as the output charset for all languages - it breaks in the 
exact same way.  While it does seem to work just fine, even for Japanese, 
without the mbstring PHP extension, I've been told by somebody on the 
squirrelmail-devel list that I need to use mbstring or there will be problems 
- i.e. the line length on outbound messages will be wrong.

Please let me know any suggestions you may have, as I'd like to get this 
working proper...

Casey Allen Shobe | cshobe@×××××××××××××.com | 206-381-2800, Inc. |

gentoo-web-user@g.o mailing list


Subject Author
Re: [gentoo-web-user] Squirrelmail's i18n broken with PHP's mbstring enabled Casey Allen Shobe <lists@×××××××××××××.com>
Re: [gentoo-web-user] Squirrelmail's i18n broken with PHP's mbstring enabled Casey Allen Shobe <lists@×××××××××××××.com>