Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kodowanie znakow
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
adrian__23
Witam,
wiem ze temat byl walkowany ale niestety nie znalazlem rozwiazania.
Aplikacja PHP Apache PEAR mssql server 2008 sterwonik bazy mssql
zapis do bazy polskich literek stronka kodowana w UTF-8 i wlasnie takie (tak mysle) sa zapisywane do bazy danych i potem sa odczytywane i ladnie sie na stronce wyswietlaja. Tylko problem jest w tym ze tabeli sa krzaki i teraz jak chce sortowac baza danych to sortowanie zle sortuje.
Roziwazaniem jest przekonwerotwanie z UTF-8 do kodowania bazkowego i spowortem przy odczytanie i zapisie do bazy wtedy w bazce danych nie ma krzaczkow i sie fajnie sortuje, niestety nie mam pojecia jak to zrobic, czy jedynym rozwiazaniem jest grzebanie w funkcjach biblioteki PEARi tam kodowanie stringow, czy istnieje jakis parametr (mssql.charset w php.ini nie dziala ( nie ma zadnych zmian po mzianie tego parametru)) ?
Znalazlem fajny sterownik bazy sqlsrv 1.1 tam mam mozliwosc usteianie kodowania ( "CharacterSet" => "UTF-8") i wszytko bylo by super gdyby nie to ze pear nie wpiera tego sterownika (a to co znalazlem ma problem z wykoanniem execute JakasFukncja @paametr=1)

czy ma ktos jakis pomysl jak rozwiazc problem ?
dzieki
Zbłąkany
Globalnie możesz ustawić RDBMS, by korzystał z UTF-8 domyślnie (uprzedzam Twoje pytanie: Microsoft SQL Server domyślnie używa wszędzie kodowania CP-1250 lub CP-1252). I wtedy zrobić kopię tej bazy (w odpowiednim kodowaniu) i po przestawieniu serwera wgrywasz ją na swoje miejsce.
Cytat(Manual)
mssql.charset "" PHP_INI_ALL Dostępna od PHP 5.1.2, gdy zostanie zbudowany z obsługą FreeTDS 7.0 lub nowszej.
adrian__23
Cytat(Zbłąkany @ 13.04.2010, 07:46:00 ) *
Globalnie możesz ustawić RDBMS, by korzystał z UTF-8 domyślnie (uprzedzam Twoje pytanie: Microsoft SQL Server domyślnie używa wszędzie kodowania CP-1250 lub CP-1252).

Gdzie moge ustawic ta wartosc ?

Cytat(Zbłąkany @ 13.04.2010, 07:46:00 ) *
mssql.charset "" PHP_INI_ALL Dostępna od PHP 5.1.2, gdy zostanie zbudowany z obsługą FreeTDS 7.0 lub nowszej.

nie uzywam FreeTDS 7.0, wszytko jest uruchomione na windowsie
Zbłąkany
Ad. 1 Poszukaj sobie, czy tak trudno zapytać wujka Google'a?
Ad. 2 Podałem Ci odpowiedź dlaczego używanie tego parametru niczego nie zmieniło tongue.gif
prachwal
PEAR korzysta z rozszerzenia MSSQL, to może wystarczy ustawić kodowanie http://www.php.net/manual/en/function.mysql-set-charset.php
Zbłąkany
@prachwal: pomyśl zanim napiszesz ...
adrian__23
Cytat(Zbłąkany @ 13.04.2010, 17:02:20 ) *
Ad. 1 Poszukaj sobie, czy tak trudno zapytać wujka Google'a?

szukalem nie znalazlem (dot RDBMS)

Cytat(Zbłąkany @ 13.04.2010, 17:02:20 ) *
Ad. 2 Podałem Ci odpowiedź dlaczego używanie tego parametru niczego nie zmieniło tongue.gif

a tak niezrozumialem, dziekuje smile.gif
Zbłąkany
Zajrzyj tutaj, to powinno pomóc. Warto też przeczytać ten artykuł z MSDN.
adrian__23
mhm zasotsowalem roziwazanie rpzedstawione w artykule czyli przekodowanie wszytkiego z UTF do kodowania bazy tuz rpzed wywolaniem query.
Dzieku
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.