ďťż
Podstrony
|
telcocafeMam problem z jednym z kursów tworzenia stron w xhtml, a mianowicie jest tam mowa o wczytywaniu zawartości z innego pliku w określone miejsce w pliku głównym. Treść ta ma być wyświetlana pomiędzy znacznikami <div id="tresc"> i </div>. U mnie wyświetla się z jednym błędem: nie są wyświetlane polskie znaki (ą, ę, ż, ź itp.). Otwierając podstronę osobno wszystko jest w porządku, dopiero po wczytaniu między znaczniki <div id="tresc"> i </div> pojawia się problem. Pytanie: jak go rozwiązać? Dodam jeszcze, że każdy z dokumentów ma kodowanie następującej treści:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <link href="css.css" rel="stylesheet" type="text/css" /> <script language="Javascript" type="text/javascript" src="menu.js"> </script> </head> wszystkie dokumenty powinny być zakodowane w ISO-8859-2. jakiego edytora używasz? wszystkie dokumenty powinny być zakodowane w ISO-8859-2. jakiego edytora używasz? Używam Zajączka 4.1 PHP zapisywałes w nim wszystkie dokumenty których używasz? czy jest na pewno ustawione kodowanie ISO-8859-2? a menu.js? Tak, wszystkie. Narazie jest ich tylko dwa łącznie ze stroną główną. Spróbuj na sam początek (przed doctype) wrzucić: <?xml version="1.0" encoding="iso-8859-2"?> U mnie to rozwiązało problem, a miałem taki jak ty. Swoją drogą - nie pisz w transitional tylko w xhtml 1.0 strict albo xhtml 1.1. I dobrze by było też zadeklarować prawidłowy typ mime dokumentu (już minęły czasy text/html, teraz się używa application/xhtml+xml) Przykład jak to zrobić w php:* <?php header('content-type: application/xhtml+xml'); ?> Wstaw to na sam początek dokumentu. A zalecany doctype: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> xhtml 1.1 =] * - to najprostrzy przykład, trzeba jeszcze dorzucić wykrywanie przeglądarki, bo IE zgłupieje jak dostanie takie coś. Trzeba to wysyłać tylko wtedy gdy user nie używa ie. Użytkownik migajek edytował ten post 08 październik 2006, 08:58 Polskie znaki w kodowaniu iso-8859-2 nie mają prawa być zle interpretowane choć niewiadmo co byś napisał. To program wyłącznie jest odpowiedzialny za prawidłowe ich interpretowanie. Krótko mówiąc jak wyedytujesz źrodło stronki w notatniku to polskie znaki mają być tam zamienione na ich odpowiedniki. To ma zrobić program. Choć niewiem co byś wpisał jeśli program nie zamieni tych znaków to i tak nic nie da. Tak więc przyczyna leży w programie. Dodam, że Lukasjed napisał, że problem leży tylko i wyłącznie w cześci stronki objętych div-em Sprawdź źródło stronki w notatniku i jeśli tam polskie zanki wszędzie nie zostały zamienione na ich odpowiedniki to.... zmień program. Użytkownik statjacek edytował ten post 08 październik 2006, 09:00 Co do kodowania znaków na początku w PHP dopisać: header("Content-Type: text/html; charset=ISO-8859-2"); Jak zmienię z 1.0 na 1.1 i Transitional na Strict to mi się układ strony rozlatuje, a błędów kodowania polskich znaków dalej nie likwiduje. Muszę pokombinować w Pajączku :mellow: Pajączek też nie pomógł :( Użytkownik Lukasjed edytował ten post 08 październik 2006, 11:21 polskich znakow nie masz w js czy w wogole na stronie nawet w pliku html? Najlepiej ustawić charset na UTF-8 i pliki zapisywać w kodowaniu UTF-8 a nie ANSI, po takim zabiegu nie ma problemu w pl znaczkami, bynajmniej ja nie mam :) Dziękuję wszystkim za pomoc! :disco: Teraz wszystko działa elegancko po przekodowaniu w Zajączku na UTF-8.(Chociaż dalej musi być Transitional zamiast Strict, ale to chyba bardzo nie przeszkadza nie?) Użytkownik Lukasjed edytował ten post 08 październik 2006, 11:49 Jeżeli strona Ci sie rozlatuje, to znaczy, ze jest niepoprawnie napisana. Wlanij XHTML 1.1 i w validatorze zobacz jakie masz bledy. Warto robic strone zgodnie ze standardami. Wlanij XHTML 1.1 i w validatorze zobacz jakie masz bledy. Warto robic strone zgodnie ze standardami. warto ale póki co to nie w 1.1 :> warto ale póki co to nie w 1.1 ciekawa opinia, dlaczego? Ja pisze notorycznie w 1.1, czekam na 2.0. ciekawa opinia, dlaczego? Ja pisze notorycznie w 1.1, czekam na 2.0. ponieważ MicroShit nie obsługuje w pełni XML'a a XHTML 1.1 tylko jego wykorzystuje. XHTML - Nie obsługuje XHTML 1.1, a nawet XHTML 1.0 Strict i nie jest w stanie otworzyć pliku z zalecanym MIME - application/xhtml+xml. http://www.alternaty...p;p=10684#10684 http://standards.bla...tml-faq/#mime11 Są na to sposoby - jakoś moja strona chodzi pod IE Można zrobic tak : http://osiolki.net/faq/xhtmlfaq#ie Są na to sposoby - jakoś moja strona chodzi pod IE Można zrobic tak : http://osiolki.net/faq/xhtmlfaq#ie Nie jest to rozsądne ponieważ nie wszyscy mają najnowsze ort!. Po za tym utrudniasz sobie życie, bo tracisz możliwość wykorzystania bardzo cennych wielu tagów. No chyba, że ta stronka jest tylko dla.... ? Użytkownik migajek edytował ten post 08 październik 2006, 15:55 Ta, nierozsądne jest trzymanie się standardów? Gdy sie umie tworzyć strony, to pod każdą przeglądraką strona wygląda tak samo pisząc ze standardami. Złym nawykiem jest pisanie stron pod IE, które leje na standardy. tracisz możliwość wykorzystania bardzo cennych wielu tagów. Na przykład jakiego tagu? Jest to bardzo rozsądne, pozwala szybciej wychwycić błędy składni (jak mamy xhtml 1.1 i prawidłowy content-type to przeglądarka od razu zgłosi ewentualne błędy. Po ich poprawie nawet bez odwiedzania validatora wiemy że wszystko jest "valid"). Poza tym wwwc nie rozwija standardów by webmasterom robić krzywdę (ad Twoje "niezbędne" tagi) tylko by im ułatwiać pracę. A to, że Microsoft ma gdzieś wszelkie standardy? Czy dlatego trzeba się ograniczać? Poza tym - jak wykryjemy że user używa IE to możemy mu wysłać content-type: text/html i wtedy także na IE wszystko będzie działało... Ale ekhm.. nieco zboczyliśmy z tematu. Swoją drogą - firefox pokazuje krzaki zamiast polskich znaków gdy mamy UTF-8 i zapomnimy o <?xml version="1.0" encoding="utf-8"?> Wiem, sprawdziłem, męczyłem się pare dni ^^ Użytkownik Einzeinbleth edytował ten post 08 październik 2006, 16:06 |
|||
Sitedesign by AltusUmbrae. |