[sisyphus] Squirrelmail и ошибка декодирования.

Evgeniy Kobzev =?iso-8859-1?q?evgenik_=CE=C1_diamonds=2Eru?=
Вт Сен 28 10:30:12 MSD 2004


Тут пролетала как то эта тема, и предлагался грязный хак путем 
комментирования следующих строчек в 
/var/www/html/squirrelmail/functions/decode/*.php

#if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string) )
#  return $string;

На самом деле всё гораздо прозаичнее.
Используется функция ereg(), а она не может работать с юникодом.
Чтобы она смогла понимать юникод, нужно включить "Multi-Byte String 
Functions", а чтобы их включить, нужно установить php-mbstring.
И ещё поставить нужное значение параметру mbstring.func_overload
в /etc/php/<version>/mod_php/php.d/mbstring.ini
например:
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 7

Таким образом делаем вывод:
squirrelmail с русским языком без установки php-mbstring работать не будет.

Может в зависимости?



Подробная информация о списке рассылки Sisyphus