ďťż
Podstrony
|
telcocafeNapisałem klasę do generowania RSS - na razie na próbę, aby zobaczyć, co z tego w ogóle wyjdzie. Wykorzystałem SimpleXML. Kod źródłowy XML jest mierny. Zamiast znaków UTF-8 są encje. Może standardy XML nie pozwalają ich umieszczać poza CDATA, jednak problem w tym, że SimpleXML nie potrafi stworzyć <![CDATA[.Przykład: Dając przykład banalny: któż z nas kiedyś nie podejmował się trudnego wysiłku fizycznego mając na względzie uzyskanie z tego korzyści? Pozostaje jeszcze DOM, ale w PHP trzeba pisać więcej kodu niż w Javascript. Nawet dla ciągu tekstowego:$tekst = $dom->createTextNode(...)Potem dla każdego elementu i tekstu obowiązkowo: appendChild() Jak czytniki RSS radzą sobie z plikami .xml zakodowanymi w UTF-8? Być może lepiej stworzyć szablon ze strukturą pliku RSS? Tylko to nie gwarantuje poprawności dokumentu XML. o ile pamiętam to poprostu simpleXML nie obsługuje UTF-8, albo znajdź inną klasę, albo iconv na wlocie i wylocie i z głowy. Sam XML jako taki nie ma tu nic do rzeczy, zwyczajnie PHP jest miejscami jeszcze przestarzałe. Użytkownik someone edytował ten post 15 lipiec 2009, 22:21 jak to nie obsługuje podstawowego kodowania dokumentów XML? to co widzisz to entities, które trzeba zdekodowac. http://nadeausoftwar...tities_web_page Może się mylę, ale mnie to wygląda jakby tekst kodowany w UTF-8 był odczytywany przez simpleXML jako ASCII. Wydaje mi się że nie ma potrzeby kodowania tych znaków jako encji. Co nie zmienia faktu, że entity_decode powinno załatwić sprawę ;) entity_decode() nic nie pomoże, jeżeli SimpleXML i tak zamieni wielobajtowe znaki UTF-8 na encje przy zapisie XML. A próbowałeś? :P Do jobmastera muszę parsować różne XMLe i dekodowanie encji załatwia sprawę. Niektóre generatory XMLów dość agresywnie enkodują różne znaki żeby zapewnić poprawność XMLa. |
|||
Sitedesign by AltusUmbrae. |