Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: WHERE LIKE i polskie litery
Forum PHP.pl > Forum > PHP
maciequs
Witam,

korzystam z zapytania

Kod
WHERE costam LIKE \"".$_POST['jakistekst'])."\"

i teraz prosiłbym o pomoc. Otóż chciałbym aby w wyniku po zapytaniu gdzie znajdują się wyrazy np, żagle lub Żagle zwracało mi wszystkie rekordy bez względu na welkości liter. Np. W bazie mam rekord "żagle" oraz rekord "Żagle". Ktoś szuka i wpisuje "ŻaGle" i chciałbym aby oba te rekordy (żagle,Żagle) zostały wyświetlone.

probowałem już różnych funkcji na zmniejszanie i porownywania wyrazów np tak:

Kod
$szukany=strtolower($_POST['szukany']);

WHERE LOWER(costam) LIKE \"".$szukany."\"


Nadmienię że powyższy przykład działa dla "niepolskich" znaków lecz potrzebuję czegoś co zadziała i dla nich.

Kodowanie strony iso-8859-2,
kodowanie dokumentów iso-8859-2,
porównywnaie napisów w phpmyadmin dla tych tabel latin1_swedish_ci
nevt
Cytat
porównywnaie napisów w phpmyadmin dla tych tabel latin1_swedish_ci

czyżby polskie krzaczki pochodziły ze szwedzkiego?
zmień na latin1_general_ci i będzie lepiej ...
vtuner
Lub zmień na latin2, bo ja nie mam problemów.
maciequs
zmieniłem nic nie pomogło.

[code]
WHERE LOWER(enc_title) LIKE '%".strtolower($_POST['nowe'])."%'
[code]

nie działa dla polskich ogonków

Po za tym to nie powinno miec znaczenia chyba jak to trzymam w bazie danych. Bo kodowanie jest konwertowane na wejsciu do bazy i na wyjsciu przy zwracaniu wyników...

Oświećcie mnie jak to powinno być i dlaczego w tym wypadku (dla polskich ogonków) to nie działa

A i jeszcze jedno - krzaków nie ma. Zwracane wyniki są w pełni poprawne. Przy porównywaniu sa kłopoty

Porobiiłem parę testów i nawet nie trzeba zmniejszac liter prz porównywaniu.

Problem dla poslkich ogonków jest taki że znaki przetrzymywane dla np. "ż" i "Ż" to sa rożne znaki nawet w systemie "_ci" ktory w zasadzie powinien ignorować rozróżnienie na wielkie i małe litery.

Co Wy na to?
erix
Cytat
nie działa dla polskich ogonków

A wartości w bazie się zmieniły? Jakie kodowanie dla połączenia z bazą?

Cytat
Po za tym to nie powinno miec znaczenia chyba jak to trzymam w bazie danych. Bo kodowanie jest konwertowane na wejsciu do bazy i na wyjsciu przy zwracaniu wyników...

Porównaj sobie sortowanie wg polskich znaków przy kodowaniach *_general_ci i przy *_polish_ci. ;]
calebos
Kod
set names STRONA_KODOWA_KTORA_CHCESZ
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.