Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Microsoft SQL Server / MSDE _ PHP & MSSQL - problem z polskimi literami

Napisany przez: qoonieczko 2.10.2014, 13:52:02

Witam,

Szukałem wszędzie, żadne rozwiązanie nie pomaga. Stronę koduje w utf-8. Znaki ze strony są ok. Znaki pobierane z bazy nie są. Collataion na bazie i tabeli jest: 'Polish_CI_AS' (w swoich pomocach miejcie na uwadze, że tego zmienić nie mogę niestety). Na apachu mam dodane do php.ini:

  1. mssql.charset = "cp1250"


Coś takiego:

  1. http://www.php.net/echo iconv("CP1250","utf-8",$dane['nazwisko']);


pomaga przy wyświetlaniu. Nie mogę jednak wyszukiwać danych, które zawierają polskie znaki. Po wyświetleniu sobie zmiennej $sql, w której jest zapytanie w miejsce polskiego znaku są krzaki. Pomaga w tym wypadku:

  1. $szukaj=iconv("utf-8","CP1250",$szukaj);


ale po wyświetleniu zapytania i tak są krzaki, ale to jest mniej ważne. Co powienien zrobić, żeby to mi działało bez sztuczek typu:

  1. $szukaj=iconv("utf-8","CP1250",$szukaj);


Nie chcę co chwile tego używać, lubie mieć porządek w kodzie. Na tym serwerze będzie wiele aplikacji do napisania, a to strasznie mi wydłuży czas pracy. Będę bardzo wdzięczny za pomoc. Serwer Apache i PHP- Ubuntu 12.4. MSSQL 2008 chyba (ale tam nic nie mogę zmieniać).

Napisany przez: john_doe 24.10.2014, 10:54:30

właśnie kończę projekt na sqlServer z takim samym collation bazy jak Twój.
w meta mam po prostu

  1. <http://december.com/html/4/element/meta.html http-equiv="Content-Type" content="text/html; charset=windows-1250" />

Napisany przez: insoft 15.09.2017, 22:23:20

Ktoś poradził sobie z tym problemem? Bo mam to samo. Collation bazy Polish_100_CI_AS (którego nie mogę zmienić),
iconv("CP1250","UTF-8", @result) zmienia i działa ale nie mogę lecieć foreach'em po setkach rekordów,
w adapterze do bazy ustawiony charset utf8 i zmieniany na inne i wszystko jak krew w piach.
CONVERT(varchar(50), @tabela) też nie działa tak samo CAST.
Dodam, że na testowej bazie jest to samo ale po zmianie COLLATION na general CONVERT działa. Tylko że to na testowej, na docelowej nie mogę zmienić.
Proszę o pomoc bo bujam się z tym od tygodnia.



Dobra ogarnąłem. Jako, że działam na ZF1 dodałem PDO_SQLSRV (Akrabat) i są polskie znaczki zamiast krzaczków. Może się komuś przyda. Pozdrawiam.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)