Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniem z poziomu php
exit
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Witam

Mam małą bazę danych (MySQL-5.0.27-community-nt). W bazie ustawione następujące kodowanie:

Server characterset: latin2
Db characterset: latin2
Client characterset: latin2
Conn. characterset: latin2

W plikach php i html mam wszędzie ustawione kodowanie ISO-8859-2.

Jak za pośrednictwem php zadaję zapytanie bazie danych gdzie w poszukiwanej frazie nie ma polskich ogonków to wszystko jest ok, baza zwraca poprawne wyniki (choć nie wyświetla polskich znaków).

Jak zadam pytanie takie, że w poszukiwanej frazie jest choć jedna litera z typu ą,ę,ś,ć,ż,ź to baza "mówi", że nic nie znaleziono. A rekordy na pewno są bo jak zadam zapytanie bezpośrednio z MySQL to wszystko działa, nawet polskie literki.

Czy mam gdzieś błąd z kodowaniem czy o co chodzi sam już nie wiem?


Jak macie pomysły to będe wdzięczny
Go to the top of the page
+Quote Post
marast78
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 30.11.2004

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


zawsze przy wykonywaniu zapytania ustawiaj od nowa kodowanie bazy na latin2 powinno pomóc
Go to the top of the page
+Quote Post
exit
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Dzięki za pomysł. Jak byś mógł jeszcze w skrócie napisać jak to zrobić, był bym bardzo wdzięczny. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
marast78
post
Post #4





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 30.11.2004

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


takie zapyatanie:

  1. SET NAMES 'latin2'
Go to the top of the page
+Quote Post
exit
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Nie wiem czy dobrze zrozumiałem, ale zrobiłem tak:
Przed zapytaniem ustawiam latin2:
czyli:

  1. <?php
  2. $zapytanie="set names 'latin2'";
  3.  
  4. $zapytanie="select * from dane where " . $metoda_szukania . "like '%" . $wyrazenie ."%'";
  5. ?>

No i dalej nie działa (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
Ziels
post
Post #6





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


  1. <?php
  2. mysql_query("set names 'latin2'")
  3. mysql_query("select * from dane where " . $pole . " like '%" . $wyrazenie ."%'");
  4. ?>


ISO-8859-2 To nie jest polski standard. Uzywaj UTF-8

Ten post edytował Ziels 27.11.2006, 11:12:27
Go to the top of the page
+Quote Post
exit
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Czyli co mam w nagłówkach plików php pokasować linijkę, która ustawia ISO-8859-2, czy skombinować jakiś konwerter, który przekształci plik na standard UTF-8?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Ziels
post
Post #8





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


Obydwa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Konwerter - polecam gżegżółkę

Do ogólnie pisania polecam Zend Studio
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 06:48