Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: polskie znaki w include()
Forum PHP.pl > Forum > PHP
Mary$
mam stronę index.php, w której kodzie jest zdeklarowana strona kodowa charset=iso-8859-2 . Po kliknięciu w menu wyświetla się zawartość podstrony dołączona do index.php za pomocą funkcji include(). Problem jest taki, że dołączona strona nie ma polskich znaków. Ma je tylko wtedy gdy dołączana strona zawiera zdeklarowaną stronę kodową charset=iso-8859-2, tylko że w efekcie daje to kilka deklaracji strony kodowej w kodzie index.php. Jak to zrobić tak, żeby mieć zdeklarowaną tylko jeden raz stronę kodową (w index.php) i żeby wszędzie były polskie znaki?
kossa
Plik który includujesz do index.php edytuj w edytorze zapiującym w iso-8859-2

Łukasz
Mary$
Cytat(kossa @ 19.02.2007, 23:55:00 ) *
Plik który includujesz do index.php edytuj w edytorze zapiującym w iso-8859-2

Łukasz

też na to wpadłem, ale nic z tego
misiek172
daj po include funkcje replace, zamień krzaczki na polskie litery
Mary$
Cytat(misiek172 @ 20.02.2007, 09:27:59 ) *
daj po include funkcje replace, zamień krzaczki na polskie litery

tylko, że "ś" jest zamieniane na "?", więc pozbyłbym się również znaków zapytania... blinksmiley.gif
Luke_Star
Plik index.php i plik includowany musza byc oba zapisane w formacie ISO-8859-2, dopiero wtedy beda dobrze trybic. Nastepnie zadeklaruj kodowanie dla dokumentu i fru.
Mary$
  1. <HTML>
  2. <HEAD>
  3. <title>Jakiś tytuł</title>
  4. <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-2" />
  5. </HEAD>
  6.  
  7. <BODY>
  8. <?
  9. If (!empty($_GET['show']))
  10. include('includes/' . $_GET['show'] . '.php');
  11. else
  12. include('includes/news.php');
  13. ?>
  14. </BODY>
  15. </HTML>

tak to u mnie wygląda i nie działa. jako źródła tekstu używam frontpage'a i on koduje w ISO-8859-2 . Chyba, że trzeba sie przerzucić na jakiś inny edytor?
Wave
Najlepiej tak zrób. Ustaw ISO przed wpisywaniem polskich znaków, nie po.
acztery
a moze na początku
  1. <?php
  2. header('Content-Type: text/html; charset=ISO-8859-2');
  3. ?>
Mary$
Cytat(Wave @ 20.02.2007, 16:49:11 ) *
Najlepiej tak zrób. Ustaw ISO przed wpisywaniem polskich znaków, nie po.

co masz na myśli?

@acztery: nie działa sad.gif
Kicok
Nie wydaje mi się, żeby FrontPage kodował w ISO. Prędzej w "windows-1250" smile.gif
Co ci szkodzi ściągnąć jakiś drobny edytor tekstowy i zmienić to kodowanie?
Mary$
może być WinSyntax ?

edit:
jeżeli tak, to to też nie działa
Atomic
Edytuj pliki w Notatniku SP. Następnie wybierz Konwersja/ Kodowanie ISO-8859-2 lub wciśnij F11,
zapisz ma być gotowe.
Do wczytania pliku wystarczy użyć
  1. <?php
  2. include 'plik.php';
  3. ?>
.
Mary$
Atomic: chyba cos mi nie wyszło

przed wcisnięciem F11
Kod
ĘÓĄŚŁŻŹĆŃ

po wciśnięciu F11
Kod
ĘÓˇŚŁŻŹĆŃ


edit: po zapisaniu nie ma żadnego efektu
pomek
  1. <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-2" />
  2. <title>Jakiś tytuł</title>
  3. </HEAD>...
Mary$
Cytat(pomek @ 23.02.2007, 20:47:41 ) *
  1. <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-2" />
  2. <title>Jakiś tytuł</title>
  3. </HEAD>...

wiem do czego to służy i zastosowałem to, ale nie moge tego stosować na każdej stronie dołączanej, bo sie mi zrobi kongo w kodzie. kodowanie (iso-8859-2) strony zdeklarowałem w index.php, ale strony dołączane go niego np. news.php wyświetlają mi sie bez polskich znaków.
pomek
Kodowania plików index.php i np. news.php muszą być takie samo. Użyj header();
Mary$
w ten sposób?
  1. <?php
  2. header('Content-Type: text/html; charset=iso-8859-2')
  3. ?>

bo to niestety nie działa... ;(
pomek
Mam fajny pomysł, wlep pliki index.php i news.php tutaj, na forum, abyśmy mogli mieć więcej danych.
Mary$
plik index.php
  1. <?
  2.  
  3. define('MAIN', true);
  4. Echo '<html>
  5. ';
  6.  
  7. IF (($_SESSION['userid'] != '')&&(!$_SERVER['HTTPS']))
  8. {
  9.  header('HTTP/1.1 301 Moved Permanently');
  10.  header('Location: https://'.$_SERVER['HTTP_HOST'].'/'.$_SERVER['REQUEST_URI']);
  11.  exit;
  12. };
  13.  
  14. include('functions.php');
  15. $conn = connect('includes/config.php');
  16. IF ($conn == 'error'){
  17. include('includes/zapas.php');
  18. };
  19.  
  20. $sql = 'SELECT * FROM config WHERE ConfCat = "Portal"';
  21. $wynik = mysql_query($sql);
  22.  
  23. while ($linia = mysql_fetch_assoc($wynik)){
  24. IF ($linia['ConfParam'] == 'BannerDown')
  25. $DownBanner = $linia['ConfValue'];
  26. };
  27. ?>
  28. <head>
  29.  
  30. <title>Zespół Szkół im. Karola Wojtyły w Rotmance :: <?Echo $localization;?></title>
  31. <meta name="keywords" content="Zespół Szkół im. Karola Wojtyły w Rotmance, Szkoła Podstawowa w Rotmance, G
    imnazjum w Rotmance, Szkoła w Rotmance, Rotmanka, Pruszcz Gdański, Gimnazjum, Sam
    orząd Uczniowski, Samorząd Szkolny Szkoła, Karol Wojtyła, Zygmunt Rzaniecki, Elżb
    ieta Sabatowska-Kot">
  32. <meta name="description" content="Oficjalna strona Zespołu Szkół im. Karola Wojtyły w Rotmance. ">
  33. <meta name="Robots" content="all">
  34. <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859-2" />
  35. <link rel="stylesheet" href="<?Echo sitestyle('includes/config.php');?>" type="text/css" media="screen"/>
  36. <link rel="stylesheet" href="styles/print.css" media="print"/>
  37. <script type="text/javascript">
  38. // <![CDATA[
  39. var browser = navigator.userAgent;
  40. var ie = 0;
  41. if (browser.indexOf("MSIE") != -1 && browser.indexOf(") ") == -1) ie = parseFloat(browser.substring(browser.indexOf("MSIE")+4));
  42.  
  43. var id_status_blink = 0;
  44. function status_blink(txt)
  45. {
  46. window.status = txt;
  47. if (!txt) id_status_blink = setTimeout('status_blink("KLIKNIJ WEWNĄTRZ OKNA PRZEGLĄDARKI !!!!!")', 250);
  48. else id_status_blink = setTimeout('status_blink("")', 1500);
  49. return true;
  50. }
  51.  
  52. function blur_ie()
  53. {
  54. document.all["body"].style.visibility = "hidden";
  55. clipboardData.clearData();
  56. status_blink("");
  57. }
  58.  
  59. function focus_ie()
  60. {
  61. document.all["body"].style.visibility = "visible";
  62. if (id_status_blink) clearTimeout(id_status_blink);
  63. window.status = '';
  64. return true;
  65. }
  66.  
  67. if (ie >= 5)
  68. {
  69. window.onblur = blur_ie;
  70. window.onfocus = focus_ie;
  71. }
  72. // ]]>
  73. </script>
  74. </head>
  75.  
  76. <body>
  77. <div align="center">
  78. <?PHP
  79.  
  80. $incl_path = "includes/";
  81.  
  82. ?>
  83.  
  84. <table cellpadding="0" cellspacing="0" width="900" height="224" id="Header" class="MainHeader">
  85. <!-- MSTableType="layout" -->
  86. <tbody><tr>
  87. <td valign="bottom" width="900" height="224">
  88.  
  89. <form method="POST" action="index.php">
  90. <p align="right"><input type="text" name="keyword" size="20" class="EditBox" value="Szukaj..." style="font-size:8pt;font-family:Tahoma;" onfocus="if(this.value=='Szukaj...')this.value=''" onblur="if(this.value=='')this.value='Szukaj...'">&nbsp;&nbsp;&nbsp; </p>
  91. <input type="hidden" name="content" value="search"><input type="hidden" name="show" value="search">
  92. </form>
  93. </td>
  94. </tr></tbody>
  95. </table>
  96.  
  97. <p align="center"><font color="black"><b><?Echo 'Dziś jest '.data();?></b></font></p>
  98.  
  99. <?
  100. $sql = 'SELECT * FROM config WHERE ConfCat = "Portal" AND ConfParam = "Avalible"';
  101. $wynik = mysql_query($sql);
  102. $linia = mysql_fetch_assoc($wynik);
  103. $data = explode(';',$linia['ConfValue']);
  104. IF (!$data[0]){
  105. Echo '<center>Strona nie jest dostępna w tej chwili.<br /> 
  106. Powód: <b>'.$data[1].'</b></center>
  107. </body>
  108. </html>';
  109. };
  110. ?>
  111.  
  112.  
  113.  
  114. <table cellpadding="0" cellspacing="0" width="990" height="578">
  115. <!-- MSTableType="layout" -->
  116. <tr>
  117. <td colspan="2" style="border-right-width:0px;" height="19" class="HeadCol"><p align="left"><b>Jesteś tutaj:</b> <?Echo '<a href="index.php">ZS w Rotmance</a> :: '.$localization_href;?></p></td>
  118. <td colspan="1" style="border-left-width:0px;" height="19" class="HeadCol"><p align="right"><a href="#bottom">Na dół</p></a></td>
  119. </tr>
  120. <tr>
  121. <td valign="top" width="226" class="LeftCol">
  122. <p align="center"> <? wyswietl('menu','php');Echo '<br>'; include('includes/google.php'); Echo ''; wyswietl('pogoda','php');?></td>
  123. <td valign="top" style="padding: 5px;border-top-width:0px" class="MidCol" width="531" >
  124.  <? 
  125.  IF (IsSet($_GET['show'])){
  126.  IF ($_GET['show'] != ''){
  127.  include_once('includes/'.$_GET['show'].'.php');
  128.  }else
  129.  {
  130.  include_once('includes/news.php');
  131.  };
  132.  }else{
  133.  IF ($_POST['show'] != ''){
  134.  include_once('includes/'.$_POST['show'].'.php');
  135.  }else{
  136.  include_once('includes/news.php');
  137.  };
  138.  };
  139.  ?>
  140. </td>
  141. <td valign="top" height="530" width="223" class="RightCol">
  142. <p align="center"><? wyswietl('ankieta','php'); Echo '<br>'; wyswietl('polecamy','php'); ?>
  143. <!-- (C) stat.pl / Strona glowna witryny -->
  144. <script type="text/javascript">
  145. <!--
  146. document.writeln('<'+'scr'+'ipt type="text/javascript" src="http://s3.hit.stat.pl/_'+(new Date()).getTime()+'/script.js?id=1wNKViOPK93Z2hE3632tm9TIrmb1bWdp1xQXk56GLNT.u7/l=11"></'+'scr'+'ipt>');
  147. //-->
  148. </script>
  149. <br>
  150. <a href="http://www.stat.pl" target="_blanc"><IMG src="image.php?path=images/logoYellow_pl.jpg" border="0"></a>&nbsp;&nbsp;&nbsp;
  151. </td>
  152. </tr>
  153. <tr>
  154. <td colspan="3" height="29" class="BottomCol" valign=middle>
  155. <center><?wyswietl('licznik_online','php')?>&nbsp;&nbsp;&nbsp;
  156. <a href="#top">Do góry</a> &nbsp;&nbsp;&nbsp;
  157. <!-- (C) 2000-2005 stat.pl/counter -->
  158. Strona jest wyświetlana po raz <b>
  159. <script type="text/javascript" src="http://counter.stat.pl/counter.js?id=zabipqtjiaJkBXxm8Ewu7v_Whs3RzGqfS.Fr.BVOGJj.W7&digits=8&type=1&base=10&add=0">
  160. </b>
  161. </script></center>
  162.  
  163. </td>
  164. </tr>
  165. </table>
  166. <p align="center"><?If ($_SESSION['admin'] == true) Echo '<a href="admin/" target="_parent">Panel administracji</a>&nbsp;●&nbsp;<a href="index.php?show=logout">Wyloguj</a>';?></p>
  167. </div>
  168.  
  169. <a name="bottom">
  170. <?wyswietl('stopka','php')?><br>
  171. <center><?Echo code($DownBanner);?></center></a><br>
  172. </body>
  173. </html>
  174. <?
  175. Echo '
  176.  
  177.  
  178. <!-- 
  179. ATTENTION!!!
  180. This site is copirighted (C) by Zespół Szkół im. Karola Wojtyły w Rotmance. All rights reserved.
  181. Site was displayed on '.$_SERVER['HTTP_HOST'].
  182. -->
  183. ';
  184. ?>


plik news.php jest za długi i nie uda mi się go całego wrzucić, ale tutaj jest początek
  1. <?
  2. header(&apos;Content-Type: text/html; charset=iso-8859-2&apos;);
  3.  
  4. connect(&apos;includes/config.php&apos;);
  5. $sql="SELECT * FROM news ORDER BY Data DESC LIMIT 0,5";
  6. $wynik = mysql_query($sql);
  7. ?>
  8.  
  9. <div align="center">
  10. <table cellpadding="0" cellspacing="0" width="226" class="PageHeader" id="Naglowek">
  11. <!-- MSTableType="layout" -->
  12. <tr>
  13. <td height="25">● <b><u>Aktualności</u></b> ●</td>
  14. </tr>
  15. </table>
  16. </div><br>


widze, że zamiast ' jest ' - cos sie rozjechało i jeszcze jest troche za dużo "\" (forum wstawiło)
1010
Otwórz plik index.php w notatnik SP... Daj F11, zapisz go
Z innymi plikami zrób to samo. Zapisz i ponadpisuj na serwerze.
Musi działać
Mary$
poszło! okazało sie, że gdzieś tam był jakiś śmieć zmieniający stronę kodową na windows-1250, a pliki faktycznie nie miały polskich liter. przepuściłem przez Notatnik SP i działa smile.gif Dzięki wszystkim!
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.