Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SOLVED] Ciąg znaków przed tagiem otwierającym "html"
Forum PHP.pl > Forum > PHP
-=Peter=-
Witam, mam dosyć dziwny proplem, zaczne może od konkretu.

http://www.dzwigi.livenet.pl/tekken/ -> na górze (przed tagiem otwierającym "html") pojawia się ciąg 4 (czasami 5) znaków (kod szesnastkowy jakieś litery?), na samym dole (po tagu zamykającym "html") jest doklejone "0". Jest to widocznie (u mnie przynajmniej) tylko i wyłącznie w IE7 (nie wiem jak w wersjach poprzednich) oraz w Firefoxie 2 (nie wiem jak w innych wersjach). W operze 9.50 tych znaków nie ma, wszytko jest ok. Dodam również, że na localhoście w żadnej przeglądarce tych znaków nie mam.

Początkowo myślałem, że to jest problem z bom (być może i jest z tym problem, jestem w tym momencie zdezorientowny tongue.gif), gdyż początkowo kodowałem stronę w utf-8. Jednak po przekonwertowaniu plików odpowiedzialnych za wyświetlanie strony do utf-8 bez bom, problem nadal występował. Zdegustowany tą sytuacją, zmieniłem kodowanie na iso (kodowanie strony, plików oraz bazy danych), ale to ku mojemu zdziwieniu nie rozwiązało to problemu, więc z powrotem powróciłem do utf-8.

Dodam, że jeśli wyłącze wyświetlanie niektórych komponentów (strona w symfony), to problem się rozwiązuje (np. gdy wyłącze sonde oraz wyświetlanie akcji głównej). Próbowałem zmieniać kodowanie plików widoku tych komponentów początkowo (jak jeszcze stronę miałem w utf) na utf-8 bez bom, a później iso ale to i tak nic nie dawało...

Czy ktoś ma pomysł w czym może leżeć problem?
sticker
Sprawa wynika z kodowania plików. Pewnie edytujesz czasem skrypt notatnikiem albo vimem i zapisujesz w złym kodowaniu. Wtedy masz taki kwiatek smile.gif
John
Zgadzam się z postem powyżej, u mnie pojawiał się gdy całą stronę pisałem w DW a potem coś tam na szybko przerobiłem Notepad++, proponuję Ci otworzyć problematyczny plik w różnych edytorach tekstowych, w którymś powinien Ci się pojawić problematyczny ciąg znaków, należy go wtedy zwyczajnie usunąć.
-=Peter=-
Obawiam się że jednak nie w tym tkwi problem... Zedytowałem wszystkie pliki odpowiedzialne za widok (również otwierałem odpowiednie pliki w kilku różnych edytorach - nie było żadnego podejżanego ciągu znaków) za pomocą eclipse, nadając kodowanie na utf-8. Nic nie pomogło. Proszę zauważyć, że na różnych podstronach ten ciąg jest różny, czyli jest on uzależniony od zawartości strony. Ciekawi mnie dlaczego na localhoście wszystko jest ok, a na serwerze takie kwiatki się dzieją? To że w operze na localhoście i serwerze wszytko jest ok, nie jest aż tak dziwne (pewnie opera "wycina" ten ciąg znaków z początka i końca dokumentu).

UPDATE:
http://wordpress.org/support/topic/109742 -> taki sam problem, ale bez sensownego rozwiązania...

UPDATE2:
Problem rozwiązany.
http://trac.wordpress.org/ticket/3886

Problem polegał na tym, że protokół servera na którym mam stronkę to http/1.0, a w nagłówek ze statusem był wysyłany jako http/1.1 (w symfony nie da się tego zmienić nie ingerując w kod klasy response...).

czyli zamiast:
  1. <?php
  2. header('HTTP/1.1 200 OK');
  3. ?>


trzeba tak:
  1. <?php
  2. header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
  3. ?>
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.