Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana znaków w locie
Forum PHP.pl > Forum > Przedszkole
@rtur
Witam pobieram sobie z XMLa dane i wrzucam je do bazy

Niestety w zdalnym XMLu czasami zdarzają się takie potworki jak
  1. Jest -> powinno być
  2. p?ot -> płot
  3. ?MIJA -> ŻMIJA
  4. ?azik -> Łazik
  5. Z?oto -> Złoto


Jak to wyłapać i zamienić w locie?

gdyby to było tylko ? -> ł nie miałbym problemu z zamianą ale tu występują 2 a nawet 3 znaki pod "?" i nie wiem jak sobie z tym poradzić...
SmokAnalog
Kodowanie się gryzie. Jakie kodowanie ma plik XML, a jakie baza? Trzeba będzie to przekonwertować np. z użyciem iconv.
mlawnik
Kodowanie zdalnego xmla jest skopane, albo ty jak je pobierasz to nie masz poprawnego (raczej to drugie).

Ustaw poprawne kodowanie.
@rtur
domyślam się ze to sprawa kodowania, niestety w zdalnym xmlu więc nie mogę nic na to poradzić (XML generowany z serwera SHOUTCast). Wyeliminowałem już takie potworki jak np.
  1. & # x B F ; -> ó
i parę innych a z "?" nie wiem jak sobie poradzić ze względu na mnogość znaczeń...
SmokAnalog
To może pokaż tego XML-a i odpowiedz na pytanie jakie masz kodowanie u siebie.
@rtur
Nie mogę podać linka do xmla pełnego bo xml jest dostępny po podaniu hasła, ale fragment kodu jaki wypluwa jest poniżej:
http://wklej.org/id/1154813/

Ja wrzucam to co pomiędzy <title></title> do bazy...

sam plik php ma kodowanie utf-8 bez bom
SmokAnalog
Otwierałeś sam plik XML bezpośrednio w przeglądarce? Tych znaków zapytania nie powinno wyświetlać.
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.