Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z porównaniem danych
Forum PHP.pl > Forum > Bazy danych > MySQL
budda1989
Witam serdecznie.
Opiszę kilka spraw.

Kodowanie plików utf8
kodowanie w htmlu utf8
kodowanie bazy danych utf8_general_ci

Próbowałem dodać do bazy danych przykładowy wpis z polskim znakiem, mianowicie wyposażenie
rekord został dodany jako: Wyposażenie
Do tej pory nie przeszkadzało mi to w żadnym stopniu, bo wypisując informacje z bazy, jest wszystko ładnie z polskimi znakami.

Próbuję natomiast zrobić wyszukiwarkę, lub wykonać poniższe zapytanie sql:
SELECT * FROM kategorie WHERE kategoria='Wyposażenie'

Niestety MySql zwraca mi pusty wynik, co komplikuje mi życie.

Podjęte próby rozwiązania problemu:
Zmieniałem kodowanie samego pliku ( w notepad ++ ) na ansi as utf8 i samo utf8
Zmieniałem kodowanie porównywania napisów w mysqlu na utf8_general_ci, utf8_polish_ci, latina2_general_ci

Niestety żadne z tych rozwiązań, nie zadziałało. Próbowałem nawet ustawić domyślne kodowanie w apache, nadal nic. Proszę o pomoc, lub podpowiedź rozwiązania
karis
weź sobie w ogóle kategorie wstawiaj po id a nie po nazwie

  1. SELECT * FROM kategorie WHERE kategoria=5


to nie bedziesz mial takich problemow


a co do kodowania to spróbuj iconv
budda1989
Cóż, mam wszystko po id, ale jak będę chciał wyszukać różne kategorie korzystając z wyszukiwarki produktów, tudzież zwykłego menu, porównanie napisów będzie nieefektywne.

Tylko zastanawiam się, co ja mam w tą funkcję iconv wpisać, skoro mam utf8 i chce utf8 smile.gif

EDIT:

Rozszerzony opis kategori:
Mam w tej tabeli 4 pola
id
kategoria - tutaj podaję nazwę
nadrzędna - tutaj wstawiam id nadrzędnej
status - 0 1 wiadomo.
kiler129
Cytat(budda1989 @ 16.11.2010, 23:39:18 ) *
Cóż, mam wszystko po id, ale jak będę chciał wyszukać różne kategorie korzystając z wyszukiwarki produktów, tudzież zwykłego menu, porównanie napisów będzie nieefektywne.

Tylko zastanawiam się, co ja mam w tą funkcję iconv wpisać, skoro mam utf8 i chce utf8 smile.gif


A samo połączenie jest w utf? ;]
Po mysql_connect() wyślij:
  1. mysql_query("SET CHARSET utf8");
  2. mysql_query("SET NAMES `utf8`");

i zobacz czy coś pomogło

Wyjaśnienia: http://ju.home.pl/index.php?option=com_con...6&Itemid=30
budda1989
Jesteś wielki! udało się, dane poprawnie zapisały się w bazie danych, teraz idę grzebać dalej z problemem, jak nie podołam to napiszę w tym samym temacie. Dzięki wielkie +1 dla Ciebie exclamation.gif

EDIT

Cały problem udało się rozwiązać, dzięki Twojej podpowiedzi, program śmiga jak małysz na nartach.
Super, dzięki wielkie za pomoc kiler129!
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.