Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: polskie znaki - php lub mysql
Forum PHP.pl > Forum > PHP
pentel
Witam,
W mysql mam kodowanie latin2_general_ci - jak przeglądam zawartość w phpmyadmin jest ok.
Na stronie jednak wyświetlają się pytajniki zamiast polskich znaków. Mniemam więc iż to nie problem bazy danych.
w index.php mam:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">

oraz
  1. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />


Co jest źle? smile.gif
Pozdrawiam
Grzyw
To kodowanie w bazie, o którym piszesz, to pewnie kodowanie samego PHPMyAdmin'a, nie serwera MySQL.
Twój problem prawdopodobnie rozwiąże wysłanie do bazy zapytań:
  1. <?php
  2. mysql_query('SET character_set_connection=utf8');
  3. mysql_query('SET character_set_client=utf8');
  4. mysql_query('SET character_set_results=utf8');
  5. ?>


tuż po połączeniu się z bazą po stronie PHP.
pentel
W strukturze pól (phpmyadmin) zmieniłem każdemu Metodę Porównywania Napisów z domyslnego latin1_swedish_ci na latin2_general_ci, więc wydaje mi sie, że zmieniłem kodowanie nie samego widoku w phpmyadminie tylko rzeczywiste kodowanie dla tych pól (choć może masz rację biggrin.gif).
W każdym razie, po dopisaniu twoich linijek, zmieniło się tyle, że zamiast pytajników na stronie są krzaczki (kwadraciki, znaki nie-polski, etc). Spróbowałem więc zamienić utf8 na iso-8859-2, a następnie latin2_general_ci. Oba powodują, że na stronie są znów pytajniki smile.gif

Pozdrawiam

EDIT: Chyba wiem, gdzie leży problem. Gdy dodaje dane do bazy danych poprzez skypt php (panel admina), to gdy z kolei dane te sa odczytywane, polskie znaki działają smile.gif Problem powstaje, gdy dodaję dane przez phpmyadmin sleep.gif

Najprostsze rozwiązanie jest zawsze najlepsze^^ Pozdrawiam
wgrzelak
też miałem ten problem ale kolega mi pomógł, wystarczy w phpmyadmin w każdej tabeli w "Operacje" zmienić kodowanie i powinno byc wszytko ok guitar.gif

lub dodaj do "SQL"

  1. ALTER TABLE `nazwa_tabeli_1` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci;
  2. ALTER TABLE `nazwa_tabeli_2` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci;
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.