Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kodowanie
Forum PHP.pl > Forum > Przedszkole
Mefiuu
Witam. Mam problem. Stworzyłem stronę internetową i skorzystałem z systemu dodawania newsów który był zamieszczony na tym forum (bodajże z 2007 roku, oparty na plikach .txt autorstwa - Michał Zbieranek "Pilsener" ? ) i mam problem. Newsy pięknie działają, jest ok, ale nie wyświetla mi w nich polskich znaków. Sprawdziłem w pliku admin.php kod i było kodowanie "charset=iso" jakieśtam. Wtedy po wejściu do panelu admina były tam polskie znaki ale po dodaniu na stronę w tych newsach są "krzaczki". Zmieniłem kodowanie na "windows-1250" ale nic się nie zmieniło z tym że teraz nawet w panelu nie ma polskich znaków. Moje pytanie. Jak i gdzie mam zmienić kodowanie, aby wyświetlało mi na stronie w newsach polskie znaki? Sprawdźcie - www.mefiuu.yoyo.pl/cennik.html   . Pozdrawiam i z góry dziękuję.
Skie
Zostaw kodowanie tak jak było w ISO.
Krzaczki występują pewnie dlatego, że plik tekstowy jest kodowany w UTF-8 (funkcje PHP tak go kodują). Spróbuj użyć funkcji iconv()
Mefiuu
ok. nie znam tej funkcji. Podam Ci teraz wygląd początku pliku admin.php i popraw mi co ma być zmienione dobrze? dziękuję z góry :

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Pilsener Home Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<meta name="keywords" content="Pilsener,Brydż,Michał,Zbieranek,Pilsner,Olsztyn" /> 
<meta name="description" content="Witryna Pilsenera - sporo informacji o autorze strony, do tego  obszerna galeria zdjęć, blog, kursy walut a także sporo materiałów dla miło¶ników brydża plus brydż od podstaw dla pocz±tkuj±cych!" /> 
<meta name="Robots" content="INDEX,FOLLOW" /> 
<meta name= "author" content= "Michał Pilsener Zbieranek" /> 
<link rel="stylesheet" type="text/css" media="all" href="../glowny.css" />
<link rel="stylesheet" type="text/css" media="all" href="news.css" />

</head>

<body>

<div class="tresc">

<h4>Administracja systemu newsów by Pilsener. Jeste¶ zalogowany jako: Mati</h4><ul id="a_menu"><li><strong>Menu:</strong></li>
<li><a href="admin.php">Baza newsów</a></li>
<li><a href="admin.php?go=dodaj">Dodaj newsa</a></li>
<li><a href="admin.php?go=profil">Twoj profil</a></li>
<li><a href="admin.php?go=uprawnienia">Uprawnienia</a></li><li><a href="admin.php?go=uzytkownicy">Użytkownicy</a></li>
<li><a href="admin.php?go=konfiguracja">Konfiguracja</a></li>
<li><a href="admin.php?go=wyglad">Wygl±d</a></li>
<li><a href="admin.php?go=banicja">Banicja</a></li>
</ul><h4>Edycja szablonu newsów:</h4>
   <form id="formularz" method="post" action="admin.php?go=zmienszablonnewsa">
   <textarea name="news" id="news" cols="75" rows="8"><meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />      
<h2>{N_TYTUL}</h2>
      <h3>Dodany: <b>{N_DATA}</b></h3>
         <p>{N_TRESC}</p>
         <p class="dodal"><span class="podswietlenie">Dodał: </span>{N_AUTOR}</p>
      <hr />
</textarea>
   <p>Tutaj możesz edytować szablon HTML odpowiedzialny za wy¶wietlenie newsa na stronie. Dostępne zmienne to: {N_TYTUL} - tytuł newsa, {N_DATA} - data dodania, {N_TRESC} - tre¶ć newsa, {N_KOM} i {N_DOD} - linki do ogl±dania i dodawania komentarzy, {N_AUTOR} - autor newsa.</p>
   <p><input type="submit" name="zapisz" value="zapisz szablon newsa" /></p>
   </form><h4>Edycja szablonu komentarzy:</h4>
   <form id="formularz" method="post" action="admin.php?go=zmienszablonkomentarza">
   <textarea name="komentarz" id="komentarz" cols="75" rows="8">         <p class="kom_d"><span class="podswietlenie"><small>Dodany: </small></span>{K_DATA}</p>
         <p class="kom_a"><span class="podswietlenie"><small>Skomentował: </small></span><strong>{K_AUTOR}</strong> {K_MAIL} {K_GG} {K_WWW}</p>
         <p class="kom_t">{K_TRESC}</p>
      <hr class="kom_l" /></textarea>
   <p>Tutaj możesz edytować szablon HTML odpowiedzialny za wy¶wietlenie komentarza na stronie. Dostępne zmienne to: {K_DATA} - data dodania, {K_AUTOR} - autor komentarza, {K_MAIL}, {K_GG} i {K_WWW} - adres mail, numer gg i adres strony, {K_TRESC} - tre¶ć komentarza.</p>
   <p><input type="submit" name="zapisz" value="zapisz szablon komentarza" /></p>
   </form><hr /><p class="powrot"><a href="login.php?go=wyloguj">Wyloguj się</a></p>
</div>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script><script type="text/javascript">_uacct = "UA-1482806-8"; urchinTracker(); </script>


             <div id="yigw97gqzijgu5vga0z" style="display: none">
              
             <!-- BBmedia one2many Position: yoyo.pl(1681) / Pozostale(2) / Billboard(1) / billboard 750x100 750x100(30) -->
             <!-- HowTo: Place this code into the html page there the ad should appear. -->
             <div id='bmone2n-1681.2.1.30'></div>


             <!-- BBmedia one2many code -->
             <!-- HowTo: All the ad codes must be above this code! -->
             <!-- HowTo: It is good idea to place this code just below the last ad code. -->
             <script type='text/javascript' charset='iso-8859-2' src='http://ad2.pl.mediainter.net/bb/bb_one2n.js?1206997557'></script>
             <script type='text/javascript'>/* <![CDATA[ */ 
             bmone2n.addPosition('1681.2.1.30','');
             bmone2n.getAd('ad2.pl.mediainter.net','',''+(typeof(bburlparam)=='string'?'&'+bburlparam:''));
              /* ]]> */</script>
              <div id='bmone2t-1681.2.1.30' style='display:none'><script type='text/javascript'>/* <![CDATA[ */ bmone2n.makeAd('1681.2.1.30'); /* ]]> */</script></div>
              <script type='text/javascript'>/* <![CDATA[ */
              bm12n_orig_onload = (window.onload) ? window.onload : null;
              function bm12n_onLoad() { bmone2n.moveAd();  if (bm12n_orig_onload) {bm12n_orig_onload();} }
              window.onload = bm12n_onLoad;
              /* ]]> */</script>

             </div> <!-- /#lottowafel -->
             <script type="text/javascript" src="http://ad.yoyo.pl/advertisements/sticker_flex.js?yyad_id=yigw97gqzijgu5vga0z&amp;site_id=962482&amp;site_name=www.mefiuu.yoyo.pl"></script>
             <script src="http://www.mefiuu.yoyo.pl/guteiP7eifa5Violaeveeche.js" type="text/javascript"></script>
          
</body>
</html>





Gdzie tutaj coś zmienić?

A tak ps. znacie jakiś inny, dobry system wprowadzania newsów na stronę (łatwy w obsłudze jak dla mnie).
Skie
A gdzie tutaj kod PHP? BO widzę jedynie HTML i JavaScript smile.gif
Mefiuu
Pomyłka sciana.gif mój błąd, przepraszam :

Kod
<?php

session_cache_limiter('none');

session_start();

ob_start();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Pilsener Home Page</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />

<meta name="keywords" content="Pilsener,Brydż,Michał,Zbieranek,Pilsner,Olsztyn" />

<meta name="description" content="Witryna Pilsenera - sporo informacji o autorze strony, do tego obszerna galeria zdjęć, blog, kursy walut a także sporo materiałów dla miło&para;ników brydża plus brydż od podstaw dla pocz&plusmn;tkuj&plusmn;cych!" />

<meta name="Robots" content="INDEX,FOLLOW" />

<meta name= "author" content= "Michał Pilsener Zbieranek" />

<link rel="stylesheet" type="text/css" media="all" href="../glowny.css" />

<link rel="stylesheet" type="text/css" media="all" href="news.css" />

</head>

Początek pliku admin.php . jak to kodowanie tu zmienić? :/
Skie
Ale to nie tu. Spróbuj użyć tego iconv() na $_POST skoro to formularz:
Używasz foreach() i na każdym elemencie po kolei jedziesz z iconv().

  1. <?php
  2. foreach ($_POST as $fn) {
  3.    $fn = iconv('utf-8', 'iso-8859-2', $fn);
  4. }
  5. ?>


Powinno działać.

EDIT:
Poprzednio była zła kolejność, teraz jest już dobrze.
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.