Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z pytajnikiem i ogonkami - polskie znaki i MySQL
uhutaf
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 14.08.2009

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


Co prawda dopiero zaczynam programować w php (około 4miesięcy), ale rozumiem dużo. Otóż mam taki problem, który zdarza się często. Otóż piszę stronę gazetki szkolnej, na której są pozdrowionka. Polega to na tym, że osoba wpisuje w formularzu kim jest, a następnie pisze dla kogo to pozdrowienie jest. Do bazy danych wysyłam rekord z dwoma polami - jednym o nazwie od, a drugim dla. Abyście lepiej się wczuli, podam dodatkowo, że moja strona jest robiona w http://www.cba.pl, a dokładniej http://cba.pl/panel/tools/filemanager/. Używam także ich PMA -> http://cba.pl/pma/. A więc do sedna...
Problem w tym, że niektórzy mogą chcieć użyć znaków polskich (z ogonkami). Niestety w bazie danych zapisuje mi się nie jako krzaczki (popularny problem), a jako znaki zapytania... Oto moje dokładniejsze dane bazy danych i systemu kodowań:

  • Serwer: mysql.cba.pl via TCP/IP
  • Wersja serwera: 5.0.77-1-log
  • Wersja protokołu: 10
  • System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
  • System porównań dla połączenia MySQL: utf8_general_ci

A oto kodowania dla tabeli (próbowałem różnie pozmieniać - nic nie daje :/ ):
Metoda porównywania napisów: latin1_swedish_ci

A na stronie, w znaczniku meta mam wpisane:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />

Wiem, że wszystko jest inne, ale próbowałem różnie zrobić. Jeszcze jedno - w tym PMA nie ma iso-8859-2...

A więc co zrobić, żeby moja strona przynajmniej jako-tako odczytywała znaki polskie z ogonkami?...
Błagam pomóżcie , bo ja już (IMG:style_emoticons/default/sciana.gif) ... Z góry dziękuję.

Ten post edytował uhutaf 14.08.2009, 18:09:05
Go to the top of the page
+Quote Post
erix
post
Post #2





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




A raczyłeś poszukać na forum? Temat wałkowany dziesiątki razy.
Go to the top of the page
+Quote Post
uhutaf
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 14.08.2009

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


Tylko, że nie znalazłem niczego co w moim przypadku by rozwiązało powyższy problem...
Na przykład tu -> http://forum.php.pl/index.php?showtopic=12...mp;#entry646027 -> mi nie pomaga... :/
Temat: Polskie znaki po ODBC -> to samo....... Przeszukałem 4 strony :/

Ten post edytował uhutaf 14.08.2009, 19:42:14
Go to the top of the page
+Quote Post
erix
post
Post #4





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




A wiesz, że po tych zmianach dane trzeba zaimportować jeszcze raz?
Go to the top of the page
+Quote Post
uhutaf
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 14.08.2009

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


Wiem... Aż tak niedoświadczony nie jestem ;P

Ten post edytował uhutaf 15.08.2009, 16:33:09
Go to the top of the page
+Quote Post
werian
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.08.2009

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


Po połączeniu z bazą wyślij do MySQL zapytanie :

  1. mysql_query("SET NAMES 'utf8'") OR die(mysql_error());


EDIT: zmień także metodę porównywania tabeli na utf8_general_ci

Przykład:

  1. mysql_connect("localhost","uzytykownik","haslo") OR mysql_error();
  2. mysql_query("use katalog") OR die(mysql_error());
  3. mysql_query("SET NAMES 'utf8'") OR die(mysql_error());
  4. $sql= mysql_query("twoje zapytanie") OR die(mysql_error());
  5. while($wynik = mysql_fetch_array($sql))
  6. {
  7. echo $wynik[0]."<br>".$wynik[1]."<br>".$wynik[2];
  8. }


Zapytanie "ustawia" wstawiane znaki do bazy na kodowanie utf.



Ten post edytował werian 15.08.2009, 20:18:24
Go to the top of the page
+Quote Post
jmail
post
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


same eugeniusze widzę.....

zamień

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


na

  1.  
  2. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  3.  


i jak się łączysz przez ftp to nie zapomnij w edytorze zmienić kodowania na UTF-8
Go to the top of the page
+Quote Post
uhutaf
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 14.08.2009

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


Dziękuję bardzo (IMG:style_emoticons/default/smile.gif)
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: 2.10.2025 - 08:25