![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 4.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
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;} |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
tu musi być Twój błąd. Ale z bazą danych są rzeczywiście problemy. Nie liczy się to, czy baza jest UTF-8, tylko czy dane zostały wprowadzone do bazy danych poprzez stronę o kodowaniu UTF-8. No i lepiej, aby to nie było poprzez phpmyadmina, bo on ma strasznie popaprane kodowanie.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
mam błąd natury takiej, że mimo kodowania znaków w UTF-8 i próby przekodowania ich jakikolwiek inny format nie dają rezultatu. Plik rtf zawiera krzaki. Jak przekodować tekst w UTF-8 aby w rtf był on poprawny??
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
http://pl.wikipedia.org/wiki/RTF
![]() Cytat RTF posługuje się zestawami znaków ANSI Kod {\rtf1\ansi\ Spróbuj przekodować krzaki ze skryptu na CP 1250. Ten post edytował erix 13.01.2009, 13:23:55 -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 4 Dołączył: 29.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dodawając do pliku rtf kolejne teksty, konwertowałem je za pomocą iconv na postać windows-1250. Też nie pomogło. Zauważyłem jednak pewną rzecz. Kiedy zapisałem sobie plik w wordpadzie i sprawdziłem kodowanie pliku za pomocą gżegżółki, to nie mógl on podać, jakie jest. Natomiast ten generowany przez mój skrypt, miał kodowanie UTF-8. Może tekst dodaję poprawnie, a końcowy plik przed wysłaniem do przeglądarki należy jeszcze jakoś przekodować??
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 12 Dołączył: 9.10.2008 Skąd: Tricity.Rumia() Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
PS. A nie lepiej byłoby po prostu wygenerować RTF-a zamiast się z nim tak bawić?
http://www.phpclasses.org/browse/package/1805.html -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.04.2025 - 11:24 |