Указание кодировок в Spreadsheet_Excel_Writer

pavel_i

Новичок
Указание кодировок в Spreadsheet_Excel_Writer

Здравствуйте!
Есть проблема: Сделал скрипт для прайсов с библиотекой для PHP Spreadsheet_Excel_Writer.

Данные вытаскиваю из базы MS SQL в кодировке cp1251.

MS Excel нормально все отображает, а вот OpenOffice как ни стараюсь - одни закарючки.

Пробовал перекодировать через iconv в UTF-8, но тотже результат.
Как правильно настроить Spreadsheet_Excel_Writer?

Нашел в инете вот такие рекомендации. Но не пошло. Файлы получаются с исковерканным текстом.
Например в прайс загружается 1000 позиций, с 41 текст в поле наименование исчезает. Excel выдает ошибку о поавреждении файла.
Но зато в OO стало по русски до 41 строки.

1. $workbook->setVersion(8);

2. $worksheet->setInputEncoding('CP1251');

3. In Spreadsheet/Excel/writer.php after the line 67 (method send())
we write
header("Content-Encoding: windows-1251");

4. Spreadsheet/Excel/writer/Workbook.php:200 correct
$this->_codepage = 1200 // FIXME: should change for BIFF8

5. Spreadsheet/Excel/writer/Workbook.php:1445 correct
$encoding = 1; // assume there are no Unicode strings



Спасибо всем, кто ответит!
 

Farsh

~ on ~ high ~ wave ~
Вообще с utf8 точно не должно быть никаких проблем .
У меня хеадер в utf8 , $sheet->setInputEncoding('utf-8'); - и в екселе и в опен оффис все ок .

Например в прайс загружается 1000 позиций, с 41 текст в поле наименование исчезает. Excel выдает ошибку о поавреждении файла.
Знаю , знаю =) Беги на http://bugs.php.net/ , там чел выложил исправление для класса .
 

Ravanger

Новичок
скачай пропатченный workbook.php отсюда

http://pear.php.net/bugs/bug.php?id=1572-
 
Сверху