Небольшой хинт, как починить PDF-отчёты, если в базе MySQL имена пользователей хранятся в кодировке, отличной от cp1251 или koi8-r.
У меня, например, SAMS завязан на AD, соответственно, имена пользователей тащутся оттуда в utf-8.
Отчёты pdf формируются сами нормально, в cp1251, а имена отображаются кракозябрами - непорядок.
Чтоб они нормально ляпались, надо поставить модуль php5-iconv:
Код: Выделить всё
cd /usr/ports/converters/php5-iconv
make install clean
проверяем, что поставился нормально:
Код: Выделить всё
root@megaserv:[/root]# cat /usr/local/etc/php/extensions.ini | grep iconv
extension=iconv.so
А потом ходим в /usr/local/share/sams и правим файл createpdf.php в трёх местах следующим образом (закомменчено то, что было, ниже - то, что стало вместо закомменченного):
Код: Выделить всё
# $aaa=convert_cyr_string($row['user'],"k","w");
$aaa=iconv("utf-8", "cp1251", $row['user']);
.....
# $aaa=convert_cyr_string("$row_2[family] $row_2[name]","k","w");
$aaa=iconv("utf-8", "cp1251", $row_2['family']." ". $row_2['name']);
.....
# $aaa=convert_cyr_string("$row_2[family] $row_2[name]","k","w");
$aaa=iconv("utf-8", "cp1251", $row_2['family']." ". $row_2['name']);
Так можно сформировать отчёт и проверить, правильно ли оно работает: