Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MSSQL]problem z kodowaniem
Forum PHP.pl > Forum > Przedszkole
james8
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>
lukasz_os
Skoro masz strone na kodowaniu utf-8 to jak chcesz aby dobrze wyswietlalo dane kodowane w latin-2 biggrin.gif

Pozdrawiam.
james8
Strone sprawdzałem również w kodowaniu iso-8859-2 (czyli latin2), ale co z tego skoro baza jest w latin1(iso-8859-1) tak czy siak wywala krzaki!!!!
potreb
To ustaw kodowanie bazy na utf-8
james8
potreb bez różnicy jakie kodowanie ustawiam w php my admin, skrypt php:

echo("Kodowanie znaków to: " . mysql_client_encoding());

odpowiada: latin1 dostaje już cholery z tym :/
lukasz_os
A probowales zmieniac metode porownywania napisow? Z tego co pamietam domyslne jest latin1_swedish_ci. Sprobuj zmienic na latin2_general_ci lub na utf8_general_ci.

Pozdrawiam.
piotrooo89
~lukasz_os ma racje kluczem będzie metoda porównywanie napisów a nie tylko kodowanie bazy.
james8
lukasz_os porównywanie znaków mam ustawione na 'latin2' krzaków pozbyłem się edytująć wszystkie wpisy w bazie (męczarnia) dane pobiera poprawnie, aczkolwiek przy sprawdzeniu z php kodowania bazy wyskakuje latin1. ISTNY PARADOKS!!!!!
potreb
Zadne paradoks. Jak tworzysz baze w utf to strona tez odrazu utf, zmienianie kodowania nie pomoże jeżeli masz juz wgrane teksty
Ociu
To tak, brak bbcode i wałkowanie tysięczny raz tego samego tematu. Cóż ja mogę, cóż ja mogę... Już wiem, odeśle Cie do wyszukiwarki forum!
Zamykam.
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.