Mam następujący problem.
Podczas wstawiania tekstu do pliku RTF polskie znaki gubią kodowanie. Dane wstawiane do pliku pochodzą za bazy danych MySQL. Kodowanie bazy jest ustawione na UTF-8, tak samo kodowanie pliku oraz serwera. Do stworzonej pliku korzystam z następującej metody. Mam gotowy szablon pliku w który są po wstawiane znaczniki. Następnie skrypt otwiera plik RTF za pomocą fopen(), a do zamiany znaczników stosowania jest funkcja str_replace.
Nagłówek rtf-a
Kod
{\rtf1\ansi\deff1\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 DejaVu Sans;}{\f1\froman\fprq2\fcharset238 Times New Roman CE;}{\f2\fnil\fprq0\fcharset0 Times{\*\falt Times New Roman};}{\f3\fnil\fprq0\fcharset0 Helvetica;}{\f4\froman\fprq2\fcharset238 Times New Roman CE;}{\f5\fnil\fprq2\fcharset0 DejaVu Sans;}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang1045\ltrch\dbch\af1\langfe1045\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045\snext1 Normal;}
{\s2\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs28\lang1045\ltrch\dbch\af5\langfe1045\hich\f3\fs28\lang1045\loch\f3\fs28\lang1045\sbasedon1\snext3 header;}
{\fonttbl{\f0\froman\fprq2\fcharset0 DejaVu Sans;}{\f1\froman\fprq2\fcharset238 Times New Roman CE;}{\f2\fnil\fprq0\fcharset0 Times{\*\falt Times New Roman};}{\f3\fnil\fprq0\fcharset0 Helvetica;}{\f4\froman\fprq2\fcharset238 Times New Roman CE;}{\f5\fnil\fprq2\fcharset0 DejaVu Sans;}}
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af1\afs24\lang1045\ltrch\dbch\af1\langfe1045\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045\snext1 Normal;}
{\s2\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\rtlch\af5\afs28\lang1045\ltrch\dbch\af5\langfe1045\hich\f3\fs28\lang1045\loch\f3\fs28\lang1045\sbasedon1\snext3 header;}