Генериране на файл от готов шаблон

amorp

Registered
Здравейте, сблъсках се със следния проблем при генерирането на word файлове.Ето го и кода:

Код:
<?php
// генериране на хедъри, с помощта на които браузърът да избере подходящото приложение
header('Content-Type: text/richtext; charset=windows-1251');
header('Content-Type: application/msword');
header("Content-Disposition: attachment; filename=output.rtf");
//създаване на кратки имена на променливи
$name = 'Иван';
$score = '66';
$date = '1666';
// отваряне на файла с шаблона
$filename = 'test.rtf';
$fp = fopen ($filename, 'r');
//прочитане на шаблона в променлива
$output = fread ( $fp, filesize($filename));
fclose ( $fp );
// заместване на маркерите за местоположение в шаблона
$output = str_replace('<<name>>', $name, $output);
$output = str_replace('<<score>>', $score, $output);
$output = str_replace('<<date>>', $date, $output);


echo $output;

?>

Шаблона test.rtf , е със съдържание:
Код:
Име  <<name>>
Точки  <<score>>
Дата <<date>>

Всичко работи перфектно, докато не стане дума за кирилица.Тоест ако някоя променлива приеме стойност на кирилица както е в случая ($name = 'Иван';), в изходния документ това име излиза на маймуница.

Благодаря предварително и се надявам ако някой е имал такав проблем да сподели за решението му.
 
Пробвай така:
PHP:
.....
$output = str_replace('<<name>>', $name, $output);
$output = str_replace('<<score>>', $score, $output);
$output = str_replace('<<date>>', $date, $output); 
$output = mb_convert_encoding($output,"windows-1251","UTF-8");

echo $output;

Освен това енкодинга нека ти е на UTF-8 :)
 

Back
Горе