Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> FCKEditor - brak pełnej konwersji encji na nominały, Konwertuje część... nie wszystko
thek
post 4.06.2009, 08:56:11
Post #1





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Witam.
Chcę na swojej stronie założyć RSS i natknąłem się na problem. Piszę kod w iso, ale serwer ma ustawienia na US-ASCII. By to ominąć postanowiłem polskie znaki i encje w tagu DESCRIPTION każdego ITEM zamienić na NumericEntities. Jako że edytorem jest FCKEditor ustawiłem
Kod
FCKConfig.ProcessNumericEntities = true

Ale niestety nie obejmuje to wszystkich encji a także polskiej litery ó, która ciągle ustawiana jest jako oacute (brak też między innymi ndash i innych encji słownych).
Po chwili szukania znalazłem inną zmienną odpowiedzialną za to i ustawiłem testowo:
Kod
FCKConfig.AdditionalNumericEntities = "'|ó|Ó"

Niestety ta zmiana także nie wniosła niczego i wciąż mam oacute oraz inne encje w nieprzystępnej mi postaci co zresztą wskazują mi jako błąd walidatory xml dla RSS. Czy ktoś ma pomysł na obejście/rozwiązanie tego problemu?
Sam tekst jest przechowywany w bazie danych jako latin2 i i wystarczyłoby mi tylko rozwiązanie problemu na poziomie konwersji encji na wartości numeryczne podczas podczas wyciągania z bazy. Może str_replace lub podobna funkcjapodczas generowania xml?


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
erix
post 4.06.2009, 17:02:25
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Piszę kod w iso, ale serwer ma ustawienia na US-ASCII.

Nie możesz ustawić swojego kodowania przez header" title="Zobacz w manualu PHP" target="_manual, tylko tak kombinujesz...?


--------------------

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!
Go to the top of the page
+Quote Post
thek
post 8.06.2009, 13:45:42
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Właśnie tu jest pies pogrzebany, że dostawca netu jakiego mam chyba jest sprzed dekady winksmiley.jpg Baza MySQL na nim jest w latin2 a sam serwer na latin1 co powoduje wiele problemów z kodowaniem. Co chwilę muszę coś traktować przy użyciu iconv lub sttosować znakowe odpowiedniki polskich liter w rozszerzonym ASCII :/ Header w użyciu wprowadziloby dla mnie jedynie fakt, że teraz musiałbym to, co do tej pory kodowałem zostawić, a reszte iconv potraktowac by do US_ASCII się dostosować.

Jako że wspomniałem, iż ma to iść do kanału RSS postanowiłem problem obejść inaczej. Zamiast kombinować mocno przy edycjach tekstu podczas pisania, odpuściłem sobie ten aspekt (ale na przyszłość zostawiłem zapis polskich znaków jako NumericEntities). Podszedłem od drugiej strony i całość tekstu po prostu objąłem w CDATA by mi nie interpretował niczego (wszelkie tagi stripuję więc nie martwię się o XSS) od momentu konwersji do utf-8, który wykorzystuję jako charset w kanale rss. W ten sposób jedyne teksty z polskimi znakami są w zasadzie tylko w bazie, zaś na serwerze mającym kodowanie latin1 tylko je odpowiednio "sklejam" i otagowuję, co nie wymaga stosowania rozszerzonego ASCII z mojej strony i wszelkiego kombinowania.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 07:44