ďťż

[PHP] Problem z kodowaniem polskich znaków funkcja require() w php

       

Podstrony


telcocafe

Mam problem polegający na tym, że moja strona składa się z trzech elementów: poczatek.inc, koniec.inc i index.php, i gdy wczytuję te dwa pliki .inc w pliku .php to zadeklarowane w pliku poczatek.inc kodowanie polskich znaków nie działa na tekst zawarty w pliku index.php. Co jest grane?

Zawartość pliku poczatek.inc:


<!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">
<html>
<head>

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="Łukasz, Jędzura, Godziszów, prace, pliki, galeria, Polska, Janów Lubelski, xhtml, php, lukasjed, strona, www, Internet" />
<meta name="author" content="Lukasjed" />
<meta name="copyright" content="Copyright 2006-2007 by Lukasjed" />
<meta name="title" content="Łukasz Jędzura - Lukasjed" />
<meta name="description" content="Strona autorstwa Łukasza Jędzury. Wejdź i sprawdź, co można tu znaleźć" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Łukasz Jędzura - Lukasjed</title>
<!--[if IE]> <link rel="stylesheet" type="text/css" href="styleie.css" /> <![endif]-->
</head>

<body background="grafika/tlo.gif">
<div id="obszar_glowny">

<div id="logowanie">
</div>

<div id="logo">
</div>

<div id="menu">
<div id="lewykawalek"><img src="grafika/lewykawalekmenu.png" /></div>
<div id="glowna"><a href="glowna.php"><img src="grafika/glowna.png" border="0" /></a></div>
<div id="galeria"><a href="galeria.php"><img src="grafika/galeria.png" border="0" /></a></div>
<div id="pliki"><a href="pliki.php"><img src="grafika/pliki.png" border="0" /></a></div>
<div id="ja"><a href="ja.php"><img src="grafika/ja.png" border="0" /></a></div>
<div id="kontakt"><a href="kontakt.php"><img src="grafika/kontakt.png" border="0" /></a></div>
<div id="linki"><a href="linki.php"><img src="grafika/linki.png" border="0" /></a></div>
<div id="prawykawalek"><img src="grafika/prawykawalekmenu.png" /></div>
</div>

<div id="poczatek">&nbsp</div>


Zawartość index.php


<? require('poczatek.inc'); ?>

<div id="poleglowne">
<div id="tresc">

<p><a href="google.pl">Siemka banany!</a><br/> Jak życie płynie?</p>

</div>
</div>

<? require('koniec.inc'); ?>
Zawartość koniec.inc


<div id="koniec">&nbsp</div>

<div id="stopka"><br/>&copy <a href="ja.php">Lukasjed</a> 2006-2007<br/>Design by <a href="ja.php">Lukasjed</a></div>

</div>

</body>
</html>




W Windowsach używasz kodowania windows-1250, a na stronie ustawiłeś charset utf-8. Więc pliki php/inc musisz przelecieć programami zmieniającymi kodowanie, np plchars, gżegżółka czy ogonki ;)
Zobaczysz, że po tym zabiegu polskie znaki (zależnie od kodowania - nie wszystkie) zostaną zastąpione przez inne ;)
Użytkownik DJ_ProG edytował ten post 13 kwiecień 2007, 21:04
A może dodanie czegoś takiego
header('Content-Type: text/html; charset=utf-8');
na początku w pliku index.php coś zdziała


(...) OMG ><
Po co, skoro dał już to w meta?
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

BTW: skoro chcesz PHP, to możesz jeszcze użyć iconv(), jeśli posiadasz ową bibliotekę, lub PHP jest skompilowany z nią :P



Miałeś racje z tym kodowaniem. Zmiana na windows-1250 działa. A co do kodowania zawartego w meta to nie zawsze działa wiec sie tym zasugerowalem

Dzięki za porady! Program do zmiany kodowania w zupełności mi pomógł :D

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.