Проблема с кодировкой в Spreadsheet_Excel_Writer

Discussion in 'PHP' started by -=Static=-, 25 Dec 2008.

  1. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Может кто сталкивался? У меня из базы cp1251 набираются данные + из *.php, Создаю *.xls, в нем текст по-русски никак не хочет быть. все какие-то кракозябли пишет...В API написано что есть метод Worksheet::setInputEncoding - толку от него нету, подставлял и "CP1251" и "UTF-8" и "ISO-8859-4" (Cyr) - Нифига не пашет...может кто-нибудь что-нибудь подсказать?
     
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Исходник в студию. Вардампил то, что идёт из базы? Уверен, что оно в нужной кодировке?
     
  3. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Уверен. Уже решил проблему:

    PHP:
    <?
    # Внедрение 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 УРА!)
     
    1 person likes this.