Witam.

Z góry przepraszam za ten temat ale to już jest akt desperacji z mojej strony. Chcę zaznaczyć że użyłem wyszukiwarki na tym forum, wyszukiwarki google i przeczytałem większość tematów związanych z kodowaniem znaków i o dziwo nie znalazłem odpowiedzi na nurtujące mnie pytanie. Zajęło mi to półtora tygodnia a nadal tkwię w martwym punkcie także wybaczcie mi ...

Streszczę więc mój problem i postaram się wszystko opisać.

A więc tak:

Baza danych:

Metoda porównywania napisów: utf8_unicode_ci;
Metoda porównywania napisów tabel: utf8_unicode_ci;
Metoda porównywania napisów rekordów: utf8_unicode_ci;

Kod php:

w pliku z połączeniem używam po wywołaniu połączenia:

  1. mysql_query("SET NAMES 'utf8'");


od razu wyjaśniam że próbowałem:

  1. mysql_query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");


i wszystkich innych kombinacji (również w kodowaniu w bazie danych)

Kod html:

Oczywiście w tagu meta:
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8" />


I kodowanie pliku przy zapisie ustawiam na utf-8;

Teraz przejdę do objawów.

Otóż w bazie danych mam polskie znaki ;] (szok ;p) na stronie wyświetlają mi się polskie znaki normalnie (szok ;p) ale nie w tym problem. Gdy wypisuje elementy tabeli na ekran wszystkie znaki są ok ale gdy chcę pobrać tylko rekordy gdzie Nazwa ( w moim przypadku drużyny) zawiera polskie znaki to otrzymuje pusty wynik. Przykładowo:

  1. $zapytanie="SELECT * FROM terminarz WHERE NrK='".$nr_kolejki."' AND NrSp='".$z."'";
  2. $wynik=mysql_query($zapytanie);
  3. $r=mysql_fetch_assoc($wynik);
  4. echo $r['Gospodarz']."<br />";
  5. echo $r['Gosc']."<br />";
  6. echo $r['GospGole']."<br />";
  7. echo $r['GoscGole']."<br />";


i wyświetla mi pięknie wraz z polskimi znakami nazwę drużyny gospodarza, gościa gole gospodarza i gościa konkretnie wynik tego kodu:

Black Horses
FC Wężowe Żelkusie
4
1

Ale gdy chcę załadować do pola select optiony z wartościami imienia i nazwiska z bazy danych z tabeli zawodnicy:

  1. $zapytanie="SELECT imie, nazwisko FROM zawodnicy WHERE druzyna='Black Horses'";
  2. $wynik_gospodarz=mysql_query($zapytanie);
  3. echo "<select name='".$gospodarz_gole."'>";
  4. while($e=mysql_fetch_row($wynik_gospodarz)){
  5. echo "<option value='".$e[0]." ".$e[1]."'>".$e[0]." ".$e[1]."</option>";
  6. }
  7. echo "</select><br />";


To działa pięknie.
Natomiast Wężowe Żelkusie sie nie ładują.

  1. $zapytanie="SELECT imie, nazwisko FROM zawodnicy WHERE druzyna='FC Wężowe Żelkusie'";
  2. $wynik_gosc=mysql_query($zapytanie);
  3. echo "<select name='".$gospodarz_gole."'>";
  4. while($e=mysql_fetch_row($wynik_gosc)){
  5. echo "<option value='".$e[0]." ".$e[1]."'>".$e[0]." ".$e[1]."</option>";
  6. }
  7. echo "</select><br />";



Bardzo proszę o pomoc i z góry dziękuję.