Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z polskimi znakami
Forum PHP.pl > Forum > Bazy danych > MySQL
amatour
Mam problem z wyświetlaniem polskich znaków z bazy danych.
Jeśli dane wprowadzam na poziomie php to do bazy lądują z krzakami ale w przeglądarce wyświetlają się dobrze czyli jest ok. Gorzej jeśli jakieś dane wprowadzam z poziomu PMA, wtedy przeglądarka wyświetla krzaki.

Próbowałem tego:

ALTER DATABASE `nazwa_bazy` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci;
ALTER TABLE `nazwa_tabeli` CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci;
ALTER TABLE `nazwa_tabeli` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci;

ale te komendy wywołują błąd mysql. Wpisywałem je zarówno z linii komend jak i w panelu PMA.

Macie jakieś pomysły?
erix
Zatrudnij wróżkę.

viking
Złe kodowanie po stronie PHP. http://tworzenie-stron-www.org/article/3/k...na_stronach_www
switch
Najlepiej ustaw kodowanie w bazie danych na latin2. Wtedy nie będziesz miał krzaków przy zapisie.

Jak przekazujesz dane do bazy w takim ustawieniu, a stronę ma w UTF to:
Łączenie z bazą:
  1. mysql_query("SET NAMES 'latin2");


i przekazujesz dane z formularza:
  1. $tresc1 = $_POST['tresc'];
  2. $trescCzysta = iconv("UTF-8", "ISO-8859-2", $tresc1);//konwertuje z UTF na ISO

Wtedy zapisuje Ci to w bazie jako latin2

Jak pobierasz dane z bazy na stronę kodowaną w UTF dodajesz przy łączeniu się z bazą:
  1. mysql_query("SET NAMES 'latin2");
  2. mysql_query("SET CHARACTER SET 'utf8'");
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-2024 Invision Power Services, Inc.