Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP & MSSQL - problem z polskimi literami
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
qoonieczko
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. 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ć).
john_doe
właśnie kończę projekt na sqlServer z takim samym collation bazy jak Twój.
w meta mam po prostu

  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
insoft
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.
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-2024 Invision Power Services, Inc.