![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 26 Dołączył: 23.01.2009 Skąd: eZ Systems Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam skrypt PHP, który zczytuje dane z bazy do XML, które następnie są wstawiane na stronie przy użyciu AJAXa. Problem polega na tym, że XML źle wyświetla znaki. Fizycznie na serwerze nie istnieje żaden plik XML, jest on generowany "w locie". Jak można ustawić kodowanie XML na utf-8? Baza danych, pliki skryptów PHP i JS mają kodowanie utf-8. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak samo jak w przypadku HTMLa.
1) Treść pliku musi być w Unicode (nieważne czy jest generowane w locie czy z dysku) 2) W nagłówki Content-Type upewnij się, że jest ...;charset=utf-8 (czy tam utf8 - nigdy nie pamiętam) Ten post edytował Crozin 9.01.2010, 18:53:04 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 26 Dołączył: 23.01.2009 Skąd: eZ Systems Ostrzeżenie: (0%) ![]() ![]() |
Czyli plik generatora XML musi być w Unicode. .... i tak jest.
Wysyłam taki nagłówek zanim zacznę generować XML, lecz nie ma on wpływu na kodowanie XML. Dobrze zrozumiałem? byłbym naprawdę wdzięczny za pomoc z tym problemem |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wszystko wydaje się być dobrze...
1) Sprawdź czy otwierając ten dokument bezpośrednio w przeglądarce również są takie problemy 2) Być może pobierasz tam jakieś dane z bazy - problemy z kodowaniem mogą wyniknąć na tym etapie 3) Jak rozumiem dokument HTML i JS (AJAX) również są w UTF-8 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 26 Dołączył: 23.01.2009 Skąd: eZ Systems Ostrzeżenie: (0%) ![]() ![]() |
Ja już nie wiem co jest tam źle. Wszystko jest zapisane w UTF-8 (pliki, baza).
Udostępniam pliki do podglądu. Pliki do pobrania - kłopotliwy skrypt |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Osiągnąłeś swój godzinny limit. powodzenia ;p - już wolę serwisy gdzie sa reklamy a nie takie coś i opcja premium ;p swoją drogą np. w DOM odczytując plik xml'a sam rozpoznaje kodowanie i domyślnie przekształca jako dane wyjściowe na utf - nie wiem jak odczytujesz tego xml'a - ja jakoś wole DOM - ale kodowanie rozpoznaje z pierwszej linii deklaracji pliku (IMG:style_emoticons/default/winksmiley.jpg) .... daj fragment kodu odpowiedzialny za wczytywanie do skryptu zawartości z pliku oraz fragment odpowiedzialny za zapis do pliku xml'a - może się także okazać, iż to będzie wina np. po stronie kodowania ale samej strony (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 26 Dołączył: 23.01.2009 Skąd: eZ Systems Ostrzeżenie: (0%) ![]() ![]() |
OK, oto plik zczytujący dane z bazy i przerabiający na XML:
oraz kod pliku js wywołujący dane z XML do mapy google.
no i oprócz tego dorzucam pliki z Google Maps API |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 32 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, nie:
A : Po drugie na początku XML-a wstaw: Cytat <?xml version="1.0" encoding="UTF-8"?> Po trzecie:
- wcześniej zamieniałeś < na &lt; Po czwarte sprawdź czy na 1000% wszystkie pliki są zapisane w UTF-8 (IMG:style_emoticons/default/smile.gif) Ten post edytował altruista2 10.02.2010, 18:46:18 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 26 Dołączył: 23.01.2009 Skąd: eZ Systems Ostrzeżenie: (0%) ![]() ![]() |
Problem już rozwiązałem.
Jego rozwiązanie można znaleźć na moim blogu w artykule który dzisiaj napisałem: Google Maps i dynamicznie generowane znaczniki |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 17:49 |