За последние 24 часа нас посетили 17749 программистов и 1702 робота. Сейчас ищут 969 программистов ...

заполнение шаблона rtf

Тема в разделе "Прочие вопросы по PHP", создана пользователем Shadofff, 10 май 2011.

  1. Shadofff

    Shadofff Активный пользователь

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Здравствуйте! возникла след. проблема. Пытаюсь заполнить rtf шаблон:

    PHP:
    1. <?php
    2.   // Создать короткие имена переменных
    3.   $name = 'Василий';
    4.   $name2=iconv("utf-8","windows-1251" , $name);
    5.   $score = '99';
    6.   // Убедиться, что все необходимые параметры присутствуют
    7.   if( !$name || !$score )
    8.   {
    9.     echo '<h1>Ошибка:</h1>Страница вызвана некорректно';
    10.   }
    11.   else
    12.   {
    13.     // Сгенерировать заголовки, которые упростят браузеру
    14.     // выбор требуемого приложения для визуализации
    15.     header( 'Content-Type: application/msword' );
    16.     header( 'Content-Disposition: inline, filename=cert.rtf');
    17.  
    18.     $date = date( 'F d, Y' );
    19.  
    20.     // Открыть файл шаблона
    21.     $filename = 'PHPCertification.rtf';
    22.     $output = file_get_contents($filename);
    23.  
    24.     // Заменить заполнители в шаблоне требуемыми данными
    25.     $output = str_replace( '<<NAME>>', 'Вася', $output );
    26.     $output = str_replace( '<<Name>>', $name2, $output );
    27.     $output = str_replace( '<<score>>', $score, $output );
    28.     $output = str_replace( '<<mm/dd/yyyy>>', $date, $output );
    29.    
    30.     // Отправить сгенерированный документ в браузер
    31.     echo $output;
    32.   }
    33. ?>
    34.  
    в итоге rtf заполняется, но скрипт не понимает русской раскладки(в документк абракадабра на месте где должно быть данные), подскажите что делать?
     
  2. Ric

    Ric Активный пользователь

    С нами с:
    9 фев 2011
    Сообщения:
    97
    Симпатии:
    2
    Такая же проблема возникла после смены кодировки проекта(делаю в нетбинсе), проблему пока не решил...
     
  3. Shadofff

    Shadofff Активный пользователь

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    я так полагаю это что то с кодировкой... пробую менять кодировку шаблона с ворд2003
     
  4. Shadofff

    Shadofff Активный пользователь

    С нами с:
    24 мар 2011
    Сообщения:
    48
    Симпатии:
    0
    Решено! перед выводом файла
    PHP:
    1. $output=mb_convert_encoding($output, "Windows-1251", "utf8");
     
  5. arzobispo

    arzobispo Активный пользователь

    С нами с:
    30 окт 2012
    Сообщения:
    7
    Симпатии:
    0
    Адрес:
    Новосибирск
    Читаю ваше "Лекарство" для избавления от Кракозябров и в инструкции было указано "Перед выводом файла". Вставляю сразу после
    Код (Text):
    1.     $date = date( 'F d, Y' );
    и ничего не получается ((