Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FCKEditor - brak pełnej konwersji encji na nominały
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
thek
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?
erix
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...?
thek
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.