PHP i MSSQL - Polish_CI_AS Problem z polskimi znakami
Grzegorz - 20-01-2007 00:00
PHP i MSSQL - Polish_CI_AS Problem z polskimi znakami
Mam na serwerze bazę Microsoft SQL, z kodowaniem znaków (Collation Name) Polish_CI_AS. W zapytaniu SQL jako warunek używam zmiennej, która chwilę wcześniej była odczytana z pliku *.txt. Jest ona jako warunek where="$zmienna_moja". Problem polega na tym, że gdy pojawiają się tam polskie znaki to zapytanie nie działa. Próbowałem użyć tej funkcji: http://php5.pl/php/konwersja_systemu...win1250_i_utf8 , na wszystkie 6 możliwych sposobów, ale cały czas zapytanie nie działa. Czy mógłby ktoś wskazać sposób jak to przewalczyć ?
Pozdrawiam Grzegorz Sobala
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Grzegorz - 20-01-2007 00:01
> Mam na serwerze bazę Microsoft SQL, z kodowaniem znaków (Collation Name) > Polish_CI_AS. W zapytaniu SQL jako warunek używam zmiennej, która chwilę > wcześniej była odczytana z pliku *.txt. > Jest ona jako warunek where="$zmienna_moja". Problem polega na tym, że gdy > pojawiają się tam polskie znaki to zapytanie nie działa. Próbowałem użyć tej > funkcji: > http://php5.pl/php/konwersja_systemu...win1250_i_utf8 > , na wszystkie 6 możliwych sposobów, ale cały czas zapytanie nie działa. Czy > mógłby ktoś wskazać sposób jak to przewalczyć ? >
Dodam jeszcze, może to ułatwi zadanie. Adres: Czyżów - Niegowić wyświetlany jest jako:Czyź˘w - Niegowi�
Pozdrawiam Grzegorz Sobala
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Xorock - 20-01-2007 00:01
Grzegorz wrote: [...] > http://php5.pl/php/konwersja_systemu...win1250_i_utf8 > , na wszystkie 6 możliwych sposobów, ale cały czas zapytanie nie działa. Czy > mógłby ktoś wskazać sposób jak to przewalczyć ? > http://pl.php.net/manual/en/function...t-encoding.php
Zibi - 20-01-2007 00:01
[...] > Dodam jeszcze, może to ułatwi zadanie. Adres: Czyżów - Niegowić > wyświetlany jest > jako:Czyź˘w - Niegowi�
To chyba nie są PL kodowane w żadnym ze standardów, które są opisane w linku. Kiedyś na jakiś tam użytek robiłem taką konwersję:
ą #317; ć #134; ę #352; ł #136; ń #228; ó #728; ś #152; ź #356; ż #382; Ą #164; Ć #143; Ę #168; Ł #157; Ń #259; Ó #341; Ś #151; Ź #141; Ż #733;
Spróbuj może Ci się przyda. Pozdrawiam, Zibi
Grzegorz - 20-01-2007 00:01
> Grzegorz wrote: > [...] > > http://php5.pl/php/konwersja_systemu...win1250_i_utf8 > > , na wszystkie 6 możliwych sposobów, ale cały czas zapytanie nie działa. Czy > > mógłby ktoś wskazać sposób jak to przewalczyć ? > > > http://pl.php.net/manual/en/function...t-encoding.php
Funkcja widzę przyda się na pewno. Dziękuje, za jej wskazanie. Tylko teraz jeszcze jedna sprawa, jak sprawdzić jak kodowany jest teskt ? Czy jest jakaś funkcja na to, czy muszę po kolei sprawdzać wszystkie znane mi systemy ?
Pozdrawiam Grzegorz Sobala
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Jacek Czapla - 20-01-2007 00:01
Grzegorz napisał(a): > Mam na serwerze bazę Microsoft SQL, z kodowaniem znaków (Collation Name) > Polish_CI_AS. W zapytaniu SQL jako warunek używam zmiennej, która chwilę
ColaltionName to ne kodowanie tylko metoda porównywania napisów (CI oznacza Case Insensitive, AS chyba ascending, czyli rosnące i bez porównywania wielkości liter).
To że masz krzaki w bazie nie ma nic wspólnego z collation. Chodzi Ci o charset.
IMHO masz utf8, więc wszystkie teksty do bazy powinny iść w utf8. Zarówno te wklepene z klawiatury jak i te z formualrzy. Albo konwertujesz ręcznie (nie polecam), albo definiujesz charset strony na utf-8 i wtedy dostaniesz w skryptach dane z formularzy już w utf8.
Jacek Czapla - 20-01-2007 00:01
Mała poprawka, to jednak nie utf8.
jacek - 20-01-2007 00:01
Odkad pamietam, zawsze byly problemy z naszymi ogonkami. Juz pod dosem bylo chyba z 8 standardow. Minelo 20 lat, a problem wciaz swiezy, heh.
Borys =?iso-8859-2?Q?Pogore=B3o?= - 20-01-2007 00:01
Dnia Fri, 19 Jan 2007 16:37:02 +0100, jacek napisał(a):
> Odkad pamietam, zawsze byly problemy z naszymi ogonkami. Juz pod dosem bylo > chyba z 8 standardow. Minelo 20 lat, a problem wciaz swiezy, heh.
A od wielu, wielu lat jest UTF i jakoś nadal wszyscy wolą tworzyć sobie problemy kodowaniem stronicowanym zamiast skorzystać z tego standardu.
-- Borys Pogoreło borys(#)leszno,edu,pl
Jacek Czapla - 20-01-2007 00:01
jacek napisał(a): > Odkad pamietam, zawsze byly problemy z naszymi ogonkami. Juz pod dosem bylo > chyba z 8 standardow. Minelo 20 lat, a problem wciaz swiezy, heh. A ja odkąd pamiętam nigdy nie miałem problemów z ogonkami. Trzeba tylko wiedzieć co się robi i dlaczego. Borys już pisał o utf8. Polecam. Wszędzie (baza, charset strony, edytor kodu).
-- *Jacek Czapla* //usuń ".pułapka" z adresu email www.ASIT.pl http://www.busyonline.pl - Rezerwacja miejsc w busach
Jacek Czapla - 20-01-2007 00:01
jacek napisał(a): > Odkad pamietam, zawsze byly problemy z naszymi ogonkami. Juz pod dosem bylo > chyba z 8 standardow. Minelo 20 lat, a problem wciaz swiezy, heh.
I oczywiście masz kodowanie kodowanie us_ascii w czytniku. :)
-- *Jacek Czapla* //usuń ".pułapka" z adresu email www.ASIT.pl http://www.busyonline.pl - Rezerwacja miejsc w busach
Artur Muszynski - 21-01-2007 00:21
Jacek Czapla wrote: > IMHO masz utf8, więc wszystkie teksty do bazy powinny iść w utf8. > Zarówno te wklepene z klawiatury jak i te z formualrzy. > Albo konwertujesz ręcznie (nie polecam), albo definiujesz charset > strony na utf-8 i wtedy dostaniesz w skryptach dane z formularzy już > w utf8.
Biblioteka php_mssql widzi charset ustawiony w systemie - czyli pewnie CP1250. Nie unicode ani nie utf-8, niestety.
artur
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
mysql i mysql-front, problem
String line; if (line=="cos"){...}....problem
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
[postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?=
[oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?=
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
[PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ?
[MySQL] Problem z zapisem danych w bazie danych
Problem z mysql - can't connect to MySQL/nietypowo...
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|