Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mysql problem ze znaczkami, Od początku
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

Ostrzeżenie: (0%)
-----


Witam.
Otóż wysyłam takie zapytanie do mojej bazy MYSQL:

  1. CREATE TABLE `imieniny` (
  2. `data` date NOT NULL DEFAULT '0000-00-00',
  3. `imiona` text
  4. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  5.  
  6. --
  7. -- Zrzut danych tabeli `imieniny`
  8. --
  9.  
  10. INSERT INTO `imieniny` VALUES('0000-01-01', 'óąśłżźć i Mieszka');
  11. INSERT INTO `imieniny` VALUES('0000-01-02', 'Izydora i Makarego');

I w phpmyadminie mam ładne polskie znaki..

Jak wpiszę
  1. SHOW VARIABLES LIKE "character_set%";

to dostaję:
Kod
character_set_client     utf8          
character_set_connection     utf8    
character_set_database     utf8      
character_set_filesystem     binary      
character_set_results     utf8          
character_set_server     latin1              
character_set_system     utf8


I teraz gdy chcę wyświetlić te wyniki na stronię to zaczyna się problem
Mój kod php to:
Kod
<?php
// nawiazujemy polaczenie
$connection = @mysql_connect('localhost', 'user, 'pass')
// w przypadku niepowodznie wyświetlamy komunikat
or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
// połączenie nawiązane;-)
echo "Udało się połączyć z serwerem!<br />";
// nawiązujemy połączenie z bazą danych
$db = @mysql_select_db('nazwa bazy', $connection)
// w przypadku niepowodzenia wyświetlamy komunikat
or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
// połączenie nawiązane;-)
echo "Udało się połączyć z bazą dancych!";

mysql_query('SET NAMES UTF8');



$zapytanie = "SELECT `data`,`imiona` FROM `imieniny`";
$idzapytania = mysql_query($zapytanie);

echo '<table>';
while ($wiersz = mysql_fetch_row($idzapytania))
  {
   echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td></tr>';
  }
echo '<table>';

// zamykamy połączenie
mysql_close($connection);


?>

i na stronie pojawia się
(IMG:http://img3.imageshack.us/img3/2742/1111he1.th.jpg)

A gdy w tym pliku php Usunę
mysql_query('SET NAMES UTF8');
TO na stronie pojawia się
(IMG:http://img232.imageshack.us/img232/6950/22222ol0.th.jpg)

Co robić??

Ten post edytował xamrex 13.02.2009, 15:42:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mls
post
Post #2





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Co zrobić? Zostawić SET NAMES i albo ręcznie zmienić w przeglądarce kodowanie na UTF-8, albo wymusić to odpowiednim nagłówkiem... Niektórzy nigdy się nie nauczą, że przeglądarki nie są na tyle inteligentne by odgadnąć w jaki sposób kodowana jest strona, która żadnych nagłówków nie posiada...

Ten post edytował mls 13.02.2009, 19:15:51
Go to the top of the page
+Quote Post
slawcio
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 1
Dołączył: 23.06.2008
Skąd: lublin

Ostrzeżenie: (0%)
-----


np.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf8">
</head>
<body>

<?php
// nawiazujemy polaczenie
$connection = @mysql_connect('localhost', 'user', 'pass');
// w przypadku niepowodznie wyświetlamy komunikat
or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
// połączenie nawiązane;-)
echo "Udało się połączyć z serwerem!<br />";
// nawiązujemy połączenie z bazą danych
$db = @mysql_select_db('nazwa bazy', $connection)
// w przypadku niepowodzenia wyświetlamy komunikat
or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
// połączenie nawiązane;-)
echo "Udało się połączyć z bazą dancych!";

mysql_query('SET NAMES UTF8');



$zapytanie = "SELECT `data`,`imiona` FROM `imieniny`";
$idzapytania = mysql_query($zapytanie);

echo '<table>';
while ($wiersz = mysql_fetch_row($idzapytania))
{
echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td></tr>';
}
echo '<table>';

// zamykamy połączenie
mysql_close($connection);


?>
</body>
</html>
Go to the top of the page
+Quote Post
xamrex
post
Post #4





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

Ostrzeżenie: (0%)
-----


dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:08