Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z polskimi znakami
amatour
post 18.02.2012, 18:40:35
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.10.2009

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


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?
Go to the top of the page
+Quote Post
erix
post 18.02.2012, 18:49:49
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zatrudnij wróżkę.



--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
viking
post 19.02.2012, 07:02:58
Post #3





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Złe kodowanie po stronie PHP. http://tworzenie-stron-www.org/article/3/k...na_stronach_www


--------------------
Go to the top of the page
+Quote Post
switch
post 23.02.2012, 18:51:44
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 19.08.2003

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


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'");


Ten post edytował switch 23.02.2012, 18:53:46
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 19:47