PDA

Просмотр полной версии : Проблема с кодировкой в Spreadsheet_Excel_Writer


-=Static=-
25.12.2008, 11:33
Может кто сталкивался? У меня из базы cp1251 набираются данные + из *.php, Создаю *.xls, в нем текст по-русски никак не хочет быть. все какие-то кракозябли пишет...В API написано что есть метод Worksheet::setInputEncoding - толку от него нету, подставлял и "CP1251" и "UTF-8" и "ISO-8859-4" (Cyr) - Нифига не пашет...может кто-нибудь что-нибудь подсказать?

groundhog
25.12.2008, 11:47
Исходник в студию. Вардампил то, что идёт из базы? Уверен, что оно в нужной кодировке?

-=Static=-
25.12.2008, 11:49
Уверен. Уже решил проблему:


<?
# Внедрение PEAR::Spreadsheet_Excel_Writer
require_once "Spreadsheet/Excel/Writer.php";
# Создание случая, отправка имени файла для создания
$xls =& new Spreadsheet_Excel_Writer($filename);
$xls->setVersion(8); // Обящательно надо!!! Иначе не будет работать setInputEncoding
# Добавление листа к файлу, возвращение объекта для добавления данныx
$sheet =& $xls->addWorksheet('Лист 1');
$sheet->setInputEncoding('CP1251');


Тут 2 ключевых момента:
1 - $xls->setVersion(8);
2 - $sheet->setInputEncoding('CP1251');

OpenOffice под FC 8 Стал понимать по-русски :D УРА!)