Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kodowaniem strony...
Forum PHP.pl > Forum > PHP
zbig13
Witam!
Wiem, że temat problemów z kodowaniem pojawiał się wiele razy na forum i niektórym pewnie już się nie chce tego czytać, ale ja kompletnie nie wiem co zrobić. Mam stronę podzieloną na trzy częsći: lewe menu, prawe menu i środek (treść). Problem w tym, że w każdej części strony jest jakby inny rodzaj kodowania. Niestety nie mogę pokazać całej strony "w akcji", bo nie mam jeszcze serwera w internecie obsługującego php, ale zrobiłem zrzuty ekranów strony wyświetlanej na localhoscie (Serwer IIS).

Kodowanie ISO-8859-2: http://republika.pl/szok_2/zrzut_iso88592
Kodowanie UTF-8 http://republika.pl/szok_2/zrzut_utf8

Widzicie? Ni jak nie moge dopasować żeby wszędzie było dobre kodowanie, bo jak w jednym miejscu jest ok, to w drugim nie. Kodowania windows-1250 nie sprawdzałem, ale ono odpada bo strone robie na Linuxie, a tylko zrzut zrobiłem z Windowsa. Na Apache'u (mam go zainstalowanego z Linuxem) wszystko wygląda mniej więcej tak samo z tym że nie ma tych dziwnych znaczków ďťż które też nie wiem skąd się wzięły. Pokaże może kod strony głównej, gdyby jeszcze jakiś był potrzebny to piszcie.

index.php
  1. <?php 
  2.  
  3. require_once (&#092;"config/mysql_connect.php\");
  4. ?>
  5. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
  6. \"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd\">
  7. <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
  8. <head>
  9. <meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-2\" />
  10. <title>SzOK - Szkolny Orodek Kariery</title>
  11. <link rel=\"stylesheet\" href=\"styl.css\" />
  12. </head>
  13. <body>
  14.  
  15. <div class=\"main\">
  16. <!-- Lewa strona -->
  17. <div class=\"left\">
  18. <div class=\"ltop\"></div>
  19. <div class=\"lmid\">
  20. <?php include (&#092;"leftMenu.php\"); ?>
  21. </div>
  22. <div class=\"lbot\"></div>
  23. </div> 
  24.  
  25. <!-- Prawa strona -->
  26. <div class=\"right\">
  27. <div class=\"top\"></div>
  28. <div class=\"tresc\">
  29. <div class=\"trtop\"></div>
  30. <div class=\"trmid\">
  31. <?php include (&#092;"content.php\"); ?>
  32. </div>
  33. <div class=\"trbot\"></div>
  34. </div>
  35. <div class=\"rightMenu\">
  36. <div class=\"rtop\"></div>
  37. <div class=\"rmid\">
  38. <p>Prawe menu</p>
  39. <?php 
  40. include (&#092;"sonda.php\"); 
  41. showForm();
  42. ?>
  43. </div>
  44. <div class=\"rbot\"></div>
  45. </div>
  46. </div>
  47. <br style=\"clear:both\" />
  48. </div>
  49.  
  50. </body>
  51. </html>
  52. <?php
  53.  
  54. ?>

Zauważyłem też, że nawet zwykła funkcja echo() wyświetla tekst dobrze tylko przy UTF-8, a przy ISO... są "krzaczki". Więc może to coś z konfiguracją... A z tą sondą w prawym menu to wogóle nie wiem co zrobić bo ona pod każdym rodzajem kodowania wygląda tak samo, mimo że w bazie danych widać polskie znaki. Ja już nie wiem co robić. Proszę o pomoc!
YagAA
Cytat(zbig13 @ 2005-08-01 08:51:08)
  1. <?php
  2.  
  3. <!DOCTYPE html PUBLIC &#092;"-//W3C//DTD XHTML 1.0 Transitional//EN\"
  4.         &#092;"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd\">
  5. <html xmlns=&#092;"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
  6. <head>
  7.     <meta http-equiv=&#092;"content-type\" content=\"text/html; charset=ISO-8859-2\" />
  8.     <title>SzOK - Szkolny Orodek Kariery</title>
  9.     <link rel=&#092;"stylesheet\" href=\"styl.css\" />
  10. </head>
  11.  
  12. ?>

swoją część zamień na
  1. <?php
  2.  
  3. <!DOCTYPE html PUBLIC &#092;"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
  4. <html xmlns=&#092;"http://www.w3.org/1999/xhtml\" xml:lang=\"pl\" lang=\"pl\">
  5. <head>
  6.  <title>SzOK - Szkolny Orodek Kariery</title>
  7.  <meta name=&#092;"language\" content=\"pl\" />
  8.  <meta http-equiv=&#092;"Content-Type\" content=\"text/html; charset=iso-8859-2\" />
  9.  <link rel=&#092;"stylesheet\" href=\"styl.css\" />
  10. </head>
  11.  
  12. ?>

i pokaż pliki
leftMenu.php , content.php, sonda.php
zbig13
Próbowałem już z tym lang="pl", ale to i tak nic nie dawało.

Edit: No dobra nikt mi ni odpisywał to pokombinowałem trochę, ale jedyne co przyszyło do głowy w związku z tym dziwnym kodowaniem, to zastosowanie czegoś takiego:
  1. <?php
  2.  
  3. header(&#092;"Content-type: text/html; charset=xxx\");
  4.  
  5. ?>

Wrzuciłem to przed każdą oddzielną cześcią strony (Lewe menu, środek i prawe menu), a tam gdzie "xxx" wstawiłem kodowanie pasujące do danej części. Mniej więcej działa, ale nie wiem czy to dobry pomysł, żeby zmieniać kodowanie w kilku miejscach na stronie. Niestety nic innego nie moge wymyślić. Co o tym sądzicie?
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.