Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP & MSSQL - problem z polskimi literami
qoonieczko
post 2.10.2014, 13:52:02
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 30.07.2013

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


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ć).
Go to the top of the page
+Quote Post
john_doe
post 24.10.2014, 10:54:30
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


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" />
Go to the top of the page
+Quote Post
insoft
post 15.09.2017, 22:23:20
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 15.09.2017

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 09:46