Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][MySQL]utf-8 polskie znaki w bazie, wyszukiwanie po polskich literkach
bcb
post 8.01.2007, 11:20:51
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2005

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


Postanowiłem zrobić stronkę w całości w UTF-8 jako iż strona ma być w dwóch wersjach językowych.
Wszytko działa nie mam krzaków na stronie www, czy coś w tym stylu.

Problem dotyczy tego iż polskie znaki są trzymane w bazie w postaci krzaczków (w utf-8).
Kiedy chcę zrobić zapytanie wyświetlenia danych zaczynających się na jakąś literkę stosuję:
Kod
SELECT * FROM tabela WHERE pole LIKE '$x%'

Wszystko ładnie działa do momentu kiedy pod zmienną $x nie przekazuje polskiego znaku.
probowałem zastosować iconv jednak to też nic nie daje.

Poniekąd rozwiązałem problem:
Stworzyłem tabele mysql z polskimi literkami w utf-8 wyciągam je i odpowiednio porównuje, wtedy powyższe zapytanie działa, tylko nie wiem dlaczego ale kiedy chce coś wyświetlić na literkę Ą wyświetlają się również wpisy na: Ć, Ę.
To samo jest z Ł, Ń, Ś. Faktycznie reprezentacja tych znaków w utf-8 wygląda identycznie.

Podobne problemy prawdopodobnie będą się również pojawiać w wyszukiwarce na stronie kiedy ktoś wyśle słowo do wyszukania z polskim znakiem.

Może ktoś wie jak rozwiązać ten problem w inny, w pełni działający sposób.

Na koniec jeszcze, czy jest sens tworzenia strony w utf-8? Czy jeśli serwis jest dwujęzyczny, mogę go w całości prezentować w iso-8859-2 ? To by rozwiązało w całości powyższe problemy.
Go to the top of the page
+Quote Post
sebik
post 8.01.2007, 12:31:10
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

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


Wydaje mi się, że powinieneś cały serwis zrobić w 8859-2. Nie ma tu znaczenia jak zakodowana bedzie strona, przeciez w 8859-2 sa wszystkie znaki uzywane w jezyku angielksim.
Go to the top of the page
+Quote Post
bcb
post 8.01.2007, 12:39:58
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2005

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


Właściwie tak. Podobnie myślę, dlatego też zadałem to pytanie na sam koniec.
Nie mniej jednak są serwisy gdzie po wybraniu "english version" kodowanie strony zmieniane jest na utf-8, szczerze nie wiem po co to się robi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 22:09