Kodowanie polskich znaków w php

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
123456789
Posty: 11
Rejestracja: pn lip 23, 2007 1:39 pm

Kodowanie polskich znaków w php

Post autor: 123456789 »

Mam problem taki ze w jednym pliku znaki są kodowane prawidlowo a w drugim nie są wogole! Głupio wyglada to ze środek pliku wyslijdobazy.php wyglada na kodowany prawidlowo ale jak juz dolaczam przez include do srodka plik check_files.php to jego zawartosc nie jest kodowana na polskie znaki!

Co mam zrobic zeby bylo wszysko ok

Plink wyslijdobazy.php

[php]<?php
<html>

<head>
<title>PHP do obslugi wysylania formularza</title>
<meta http-equiv=content-type content=text/html; charset=ISO-8859-2>
</head>

<body>

<?php
include ('config.php');
include ('check_files.php');




echo("<font color=green>Jeżeli widzisz to znaczy ze PHP działa!</font>");
echo("<br>");
$sql = mysql_connect($host, $login, $haslo);
if (!empty($sql))
echo("<font color=green>Połączenie z baza danych prawidłowo nawiązane</font><br>");
else
print("<font color=red>Błąd przy podłączaniu do bazy danych!</font><br>");

echo("Numer procersu to: $sql");

$zapytanie="CREATE DATABASE $nazwabazy";
$wykonaj=mysql_query($zapytanie);

echo("<br><br>");

$istnienie_bazy=mysql_select_db($nazwabazy);

if($wykonaj=="1")
echo("BAZA DANYCH właśnie tym momęcie została założona");
else
if($istnienie_bazy==1)
echo("<font color=green>Baza danych juz istnieje</font><br>");
else
echo("<font color=red>BŁĄD</font><br>");



$zapytanie2="CREATE TABLE $nazwatabeli (id TINYINT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY , imie CHAR(20) NOT NULL , drugie_imie CHAR(20) NOT NULL , nazwisko CHAR(20) NOT NULL , pseudonim CHAR(20) , plec CHAR(10) NOT NULL , data_urodzenia DATE , ulica CHAR(10) , nr_domu CHAR(10) , nr_mieszkania CHAR(10)) ";
$wykonaj2=mysql_query($zapytanie2);
if($wykonaj2=="1")
echo("<font color=yellow>Stworzyłeś tabele $nazwatabeli w bazie danych</font>");
else
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$nazwatabeli."'"))==1)
echo ("<font color=green>Tabela juz istnieje</font>");
else
echo ("<font color=red>BŁĄD</font>");







echo("<br><br>");
echo("Dodano rekord do bazy danych o nastepujących informacjach:<br>");
echo("Twoje imie to $imie<br>");
echo("Twoje drugie imie to $drugie_imie<br>");
echo("Twoje nazwisko to $nazwisko<br>");
echo("Twoje pseudo to $pseudonim<br>");
echo("Jesteś $plec<br>");
echo("Twoja data urodzin to $data_urodzenia<br>");
echo("Twoja ulica to $ulica<br>");
echo("Twój nr domu to $nr_domu");

$zapytanie3 = "INSERT INTO $nazwatabeli (imie, drugie_imie, nazwisko, pseudonim, plec, data_urodzenia) VALUES('$imie', '$drugie_imie', '$nazwisko', '$pseudonim', '$plec', '$data_urodzenia', '$ulica', 'nr_domu', 'nr_mieszkania')";
$wykonaj3=mysql_query($zapytanie3);

if(mysql_close($sql)=="1")
echo("<br><font color=green>Prawidłowo rozłączono się z bazą danych</font>");
else
echo("<br><font color=red>BŁĄD w rozłączeniu</font>");



?>


</body>

</html>
?>[/php]

plik check_files.php

[php]<?php
<html>

<head>
<title>PHP do obslugi wysylania formularza</title>
<meta http-equiv=content-type content=text/html; charset=ISO-8859-2>
</head>

<body>

<?php
include('config.php');

echo("<font color=green>Jeżeli widzisz to znaczy ze PHP działa!</font>");
echo("<br>");
$sql = mysql_connect($host, $login, $haslo);
if (!empty($sql))
echo("<font color=green>Połączenie z baza danych prawidłowo nawiązane</font><br>");
else
print("<font color=red>Błąd przy podłączaniu do bazy danych!</font><br>");

echo("Numer procersu to: $sql");

$zapytanie="CREATE DATABASE $nazwabazy";
$wykonaj=mysql_query($zapytanie);

echo("<br><br>");

$istnienie_bazy=mysql_select_db($nazwabazy);

if($wykonaj=="1")
echo("BAZA DANYCH właśnie tym momęcie została założona");
else
if($istnienie_bazy==1)
echo("<font color=green>Baza danych juz istnieje</font><br>");
else
echo("<font color=red>BŁĄD</font><br>");



$zapytanie2="CREATE TABLE $nazwatabeli (id TINYINT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY , imie CHAR(20) NOT NULL , drugie_imie CHAR(20) NOT NULL , nazwisko CHAR(20) NOT NULL , pseudonim CHAR(20) , plec CHAR(10) NOT NULL , data_urodzenia DATE , ulica CHAR(10) , nr_domu CHAR(10) , nr_mieszkania CHAR(10)) ";
$wykonaj2=mysql_query($zapytanie2);
if($wykonaj2=="1")
echo("<font color=yellow>Stworzyłeś tabele $nazwatabeli w bazie danych</font>");
else
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$nazwatabeli."'"))==1)
echo ("<font color=green>Tabela juz istnieje</font>");
else
echo ("<font color=red>BŁĄD</font>");

?>


</body>

</html>
?>[/php]
?>[/php]
Olimpia_ona
Nowy
Nowy
Posty: 27
Rejestracja: pt gru 03, 2004 7:41 pm
Lokalizacja: Elbląg

Re: Kodowanie polskich znaków w php

Post autor: Olimpia_ona »

W pliku check_files.php, który includujesz do innego pliku nie powinieneś już dawać znaczników początkowych HTMLa. Wykasuj z pliku pcheck_files.php wszystko co masz do lini 10 i od lini 52 w dół.
kulmen
Nowy
Nowy
Posty: 64
Rejestracja: sob cze 23, 2007 3:24 am
Kontakt:

Re: Kodowanie polskich znaków w php

Post autor: kulmen »

No i jeszcze poza uwagą Olimpii muszisz pamiętać o zapisywaniu pliku fizycznie w odpowiednim kodowaniu - to też jest częsta przyczyna wyświetlania krzaków na stronie.
ODPOWIEDZ