В общем вот я написал ооочень извращенный метод, далеко не очень правильный, некоторых символов нет в частности смайлов и т.п. потому-что Notepad их не корректно отображает. Файл ставь в кодировку ANSI.В переменной $s лежит сам текст, для переноса строк писать \n(можно свое сделать). На самом деле так не делается, ну вроде бы открывает, не ругает, кодировку не спрашивает Вот сам код
code.php{\rtf1\ansi\ansicpg1251\deff0\nouicompat\deflang1049{\fonttbl{\f0\fnil\fcharset204 Calibri;}{\f1\fnil\fcharset0 Calibri;}{\f2\fnil\fcharset1 Segoe UI Symbol;}{\f3\fnil Calibri;}{\f4\fnil\fcharset1 Cambria Math;}}
{\*\generator Riched20 10.0.14393}{\*\mmathPr\mmathFont4\mwrapIndent1440 }\viewkind4\uc1
\pard\sa200\sl276\slmult1\f0\fs22
<?PHP
$s = 'Hello, world!\ntest!\n\n\n Вася Пупкин тут.';
for($i = 0; $i < strlen($s);$i++)
if($s[$i] == '\\' && $i+1 < strlen($s) && $s[$i+1] == "n"){
$i++;
echo "\par";
}else
echo "\\'".getANSICodeHex($s[$i]);
function getANSICodeHex($sym) {
$arr = ["","","","","","","","","","","","","+","","","0",">","<","","","¶","§","-","¦","^","v",">","<","L","-","^","Ў","3","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","¦","Ђ","Ѓ","‚","ѓ","„","…","†","‡","€","‰","Љ","‹","Њ","Ќ","Ћ","Џ","ђ","‘","’","“","”","•","–","—","1","™","љ","›","њ","ќ","ћ","џ"," ","Ў","ў","Ј","¤","Ґ","¦","§","Ё","©","Є","«","¬","","®","Ї","°","±","І","і","ґ","µ","¶","·","ё","№","є","»","ј","Ѕ","ѕ","ї","А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","а","б","в","г","д","е","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я"];
for($i = 0; $i < count($arr);$i++)
if($arr[$i] == $sym)
return dechex($i);
return 0;
}
?>
\f1\lang9
}
<?PHP
header("Content-Type: application/msword;");
header("Content-Disposition: attachment; filename=file.rtf");
header("Pragma: no-cache");
header("Expires: 0");
?>