Thread View: pl.comp.lang.php
6 messages
6 total messages
Started by emiterani
Thu, 13 Oct 2016 10:10
PHP MSSQL i textarea
Author: emiterani
Date: Thu, 13 Oct 2016 10:10
Date: Thu, 13 Oct 2016 10:10
11 lines
1909 bytes
1909 bytes
Witam. Mam problem prawidłowo wyświetlanym tekstem w polu textarea. Konfiguracja: 1. www - apache na linuxie 2. php 5.6 na linuxie 3. baza MSSQL 2008 na windowsie Opis problemu: Poprzez skrypt dokonuję zapisu do bazy (MSSQL) danych miedzy innymi z textarea. Tekst przekodowywany jest na CP1250 poprzez iconv. W bazie tekst widoczy jest poprawnie, natmiast po pobraniu z bazy i ponownym wyświetleniu w polu textarea już nie jest poprawny. Kombinowałem z przekodowaniem poprzez iconv ale to nic nie daje, tym bardziej że testowy tekst jest bez polskich liter. Tekst w innych tagach html wyświetla się prawidłowo, natomiast w textarea: t?e?s?t? coś takiego jest, znaki zapytania na czarnym tle. Myślałem że to problem z kodowaniem znaków ale to nie to. Czy ktoś spotkał się z podobnym problemem i rozwiązał go? Adam
Re: PHP MSSQL i textarea
Author: Rafal Podsiadly
Date: Thu, 13 Oct 2016 17:31
Date: Thu, 13 Oct 2016 17:31
7 lines
1645 bytes
1645 bytes
Idealne rozwiązanie to takie samo kodowanie na stronie i tabel w bazie. Proponuję byś sprawdził jakie kodowanie ma twoja strona internetowa. Do tego proszę zobacz jak jest ustawiona baza danych i jak jest ustawiona tabela, następnie rekord. Podczas zapisu do bazy (jeśli występuje w innym kodowaniu) może następować konwersja na kodowanie, które jest ustawione do tabel. I później czytasz nie CP ale to co jest z bazy.
Re: PHP MSSQL i textarea
Author: Borys Pogoreło
Date: Thu, 13 Oct 2016 20:42
Date: Thu, 13 Oct 2016 20:42
13 lines
1316 bytes
1316 bytes
Dnia Thu, 13 Oct 2016 03:10:35 -0700 (PDT), emiterani@gmail.com napisał(a): > Poprzez skrypt dokonuję zapisu do bazy (MSSQL) danych miedzy innymi z > textarea. Tekst przekodowywany jest na CP1250 poprzez iconv. W bazie > tekst widoczy jest poprawnie, natmiast po pobraniu z bazy i ponownym > wyświetleniu w polu textarea już nie jest poprawny. Jeśli już musisz korzystać z kodowań stronicowanych, to konwersję musisz wykonywać w obie strony. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: PHP MSSQL i textarea
Author: Adam Aniołek
Date: Fri, 14 Oct 2016 05:16
Date: Fri, 14 Oct 2016 05:16
12 lines
2511 bytes
2511 bytes
W dniu czwartek, 13 października 2016 19:31:51 UTC+2 użytkownik Rafal Podsiadly napisał: > Idealne rozwiązanie to takie samo kodowanie na stronie i tabel w bazie. > > Proponuję byś sprawdził jakie kodowanie ma twoja strona internetowa. > > Do tego proszę zobacz jak jest ustawiona baza danych i jak jest ustawiona tabela, następnie rekord. > > Podczas zapisu do bazy (jeśli występuje w innym kodowaniu) może następować konwersja na kodowanie, które jest ustawione do tabel. I później czytasz nie CP ale to co jest z bazy. To ja wiem że najlepiej by było, ale niestety nie jest i nie mogę tego zminić. Strona ma utf-8, baza Polish_CI_AS. Połączenie z bazą CP1250 i zapis do bazy poprzez iconv i zamiana utf-8 na cp1250. Odczyt oczywiście z cp1250 i konwersja na utf-8. Problem może leżeć w tym że kolumna ma typ nvarchar(MAX), bo jak pobieram dane z innego pola które ma typ nvarchar(50) to jest ono prawidłowo wpisywane do pola textarea. Dodam tylko że pobieram dane z pola nvarchar(MAX) za pomocą konstrukcji CONVERT(varbinary(max),Opis2) może tu leży problem, ale inaczej nie mogę pobrać danych, wywala mi błąd, tylko w takiej formie mogę pobrać dane z pola nvarchar(MAX).
Re: PHP MSSQL i textarea
Author: Adam Aniołek
Date: Fri, 14 Oct 2016 05:17
Date: Fri, 14 Oct 2016 05:17
16 lines
1938 bytes
1938 bytes
W dniu czwartek, 13 października 2016 22:42:32 UTC+2 użytkownik Borys Pogoreło napisał: > > > Poprzez skrypt dokonuję zapisu do bazy (MSSQL) danych miedzy innymi z > > textarea. Tekst przekodowywany jest na CP1250 poprzez iconv. W bazie > > tekst widoczy jest poprawnie, natmiast po pobraniu z bazy i ponownym > > wyświetleniu w polu textarea już nie jest poprawny. > > Jeśli już musisz korzystać z kodowań stronicowanych, to konwersję musisz > wykonywać w obie strony. > > -- > Borys Pogoreło > borys(#)leszno,edu,pl Konwersja jest w obie strony, i przy zapisie i przy odczycie.
Re: PHP MSSQL i textarea
Author: Adam Aniołek
Date: Fri, 14 Oct 2016 09:59
Date: Fri, 14 Oct 2016 09:59
21 lines
2291 bytes
2291 bytes
W dniu piątek, 14 października 2016 07:17:40 UTC+2 użytkownik Adam Aniołek napisał: > W dniu czwartek, 13 października 2016 22:42:32 UTC+2 użytkownik Borys Pogoreło napisał: > > > > > > Poprzez skrypt dokonuję zapisu do bazy (MSSQL) danych miedzy innymi z > > > textarea. Tekst przekodowywany jest na CP1250 poprzez iconv. W bazie > > > tekst widoczy jest poprawnie, natmiast po pobraniu z bazy i ponownym > > > wyświetleniu w polu textarea już nie jest poprawny. > > > > Jeśli już musisz korzystać z kodowań stronicowanych, to konwersję musisz > > wykonywać w obie strony. > > > > -- > > Borys Pogoreło > > borys(#)leszno,edu,pl > > Konwersja jest w obie strony, i przy zapisie i przy odczycie. Problem rozwiązany, tak jak myślałem problemem jest pole typu nvarchar(MAX), po zmianie na nvarchar(2000) wszystko działa jak należy. Dziękuję za poświęcony czas
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads