polskie znaki w mysql

0

Chcę otrzymać w wyniku wszystko zaczynające się na literę "ś" - obojetnie czy będzie duża czy mała. Jeśli wpisuję standardowo "SELECT * FROM spis WHERE nazwa LIKE '$szukana%'", a moja $szukana to mała litera "ś", wówczas otrzymuję wszystko co zaczyna się na małe "ś". Jak sformułować zapytanie w mysql, aby otrzymać w wyniku rekordy zaczynające się na duże oraz małe "ś" ??? Proszę o pomoc.

0

SELECT * FROM spis WHERE nazwa LIKE 'ś%' OR LIKE 'Ś%' "

0

To jednak nie rozwiązuje mojego problemu, ponieważ takich warunków musiałbym postawić znacznie więcej - dla każdego polskiego krzaczka. Poza tym wyszukuję ich również w środku formuły. Gdybym chciał np. wyszukać każdą "szczęśliwą" bez względu na wielkość liter, to zapytanie strasznie się skomplikuje. Czy nie ma jakiejś prostszej metody?

0

Jest mozliwosc aby mysql korzystal z konkretnego zestawu znakow, jezeli uzywasz windows bedzie to cos w stylu cp-1250 lub windows-1250.
Po szczegoly odsylam do manuala MySQL

0

coś wydaje mi się że to jest z użyciem php?

$szukana

no to szukaną przerób jakąś funkcją [tzn nie znam nazwy] z małej na dużą na np. $szukana2

 i potem SELECT * FROM spis WHERE nazwa LIKE '$szukana%' OR LIKE '$szukana2%' "
0

SELECT * FROM spis WHERE UCASE(nazwa) LIKE UCASE('ś%')

Takie coś powinno działać. W tym przypadku porównujesz oba stringi prerzucone przez funkcję UCASE, czyli czy to podasz małe czy duże "ś", nie ma znaczenia, bo i tak zostanie ono zamienione na duże.

1 użytkowników online, w tym zalogowanych: 0, gości: 1