Witam,
Mam problem z kodowaniem znaków pobieranych z bazy danych, mianowicie przy polskich znakach wyrzuca mi "krzaki".
Próbowałem już prawie wszystkiego, nic nie pomaga... kod skryptu zamieszczam poniżej (w php my_admin metoda porównani znaków to 'latin2_general_ci') natomista gdy wpisuje kwerende w php sprawdzajaca kodowanie bazy to wyswietla 'latin1' i wywala krzaki...
Jeśli ktoś wie co jest przyczyną problemu, oraz jak się jej pozbyć, porszę o info:)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-type" content="text/html; charset="utf-8">
</head>
<body>
<?php
if (!$db_lnk = @mysql_connect("localhost", "user1", "test1")){
echo('Wystąpił błąd podczas próby połączenia z serwerem MySQL...<BR>');
exit;
}
if(!@mysql_select_db('kontakty')){
echo('Wystąpił błąd podczas wyboru bazy danych: Ksiegarnia<BR>');
@mysql_close();
exit;
}
echo("Kodowanie znaków to: " . mysql_client_encoding());
$query = 'select * from adresy';
if(!$result = mysql_query($query, $db_lnk)){
echo('Wystąpił błąd: nieprawidłowe zapytanie...<BR>');
@mysql_close();
exit;
}
?>
<table border="1">
<tr>
<td>Id</td>
<td>Imię</td>
<td>Nazwisko</td>
<td>Pseudo</td>
<td>Urodziny</td>
<td>Adres</td>
<td>Telefon kom.</td>
<td>Telefon stac.</td>
<td>GG</td>
<td>Skype</td>
<td>E-mail</td>
</tr>
<?php
while($row = mysql_fetch_row($result)){
echo("<tr>");
echo("<td>$row[0]</td>");
echo("<td>$row[1]</td>");
echo("<td>$row[2]</td>");
echo("<td>$row[3]</td>");
echo("<td>$row[4]</td>");
echo("<td>$row[5]</td>");
echo("<td>$row[6]</td>");
echo("<td>$row[7]</td>");
echo("<td>$row[8]</td>");
echo("<td>$row[9]</td>");
echo("<td>$row[10]</td>");
echo("</tr>");
}
?>
</table>
<?php
if(!@mysql_close()){
echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL');
}
?>
</body>
</html>