Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: johnyloker w Marzec 29, 2019, 10:55:51

Tytuł: Problem z odczytem/zapisem polskich znaków przez sferę+php
Wiadomość wysłana przez: johnyloker w Marzec 29, 2019, 10:55:51
Mamy skrypt php łączący się do subiekat poprzez sferę i występuje problmem przy odczycie i zapisie polskich danych do sfery.
Przykładowo, jeśli kontrahent w symbolu ma polskie znaki
$kontrahent = $this->sfera->Kontrahenci->Wczytaj($suItem->KontrahentId) nie zostaje to odczytane poprawnie w $kontrahent->Symbol.
Przy zapisie danych i np.tworzeniu dokumentu czy kontrahenta
$kontahent = $this->sfera->KontrahenciManager->DodajKontrahentaJednorazowego(); i uzupełnieniu dowolnego pola polskimi znaki nie są one zapisywane w subiekcie w poprawnym kodowaniu.
Problem nie występuje przy połączeniu z bazą danych. Narzucenie kodowania windows-1250 każdorazowo na każdą zmieną czy zmiana kodowania w php.ini nie pomaga.
Jakie powinno być prawidłowe kodowanie? Czy przy połączeniu ze sferą należy dodać coś jeszcze, aby uwzględnić polskie znaki?

Łączenie ze sferą:
$gt = new \COM("InsERT.GT") or die("Cannot create an InsERT GT object");
$gt->Produkt = 1;
$gt->Serwer = "xx";
$gt->Baza = "xx";
$gt->Autentykacja = 0;
$gt->Uzytkownik = "xx";
$gt->UzytkownikHaslo = 'xx';
$gt->Operator = "xx";
$gt->OperatorHaslo = "xx";
$this->sfera = $gt->Uruchom(0, 0);”

Jednocześnie automatyczne ustawianie flagi dla transakcji głównej w związku z pakowaniem powiązanych z nią zamówień kartonowych zajmie nam do czterech godzin (może mniej, może zmieścimy się w dwóch lub trzech, ale nie możemy tego obiecać).
Tytuł: Odp: Problem z odczytem/zapisem polskich znaków przez sferę+php
Wiadomość wysłana przez: johnyloker w Kwiecień 02, 2019, 18:04:27
czy ktoś potrafi pomóc?
Tytuł: Odp: Problem z odczytem/zapisem polskich znaków przez sferę+php
Wiadomość wysłana przez: wellman w Maj 06, 2019, 22:21:47
Najprościej i najbezpieczniej będzie przekazując parametry do poszczególnych zmiennych obiektu Sferty najpierw przekonwertować je za pomocą iconv lub mb_convert_encoding.