Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przesyłanie tablicy danych - problem z kodowaniem
Agape
post
Post #1





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

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


Witam, mam skrypt który przechowuje w pliku tablice slow. Potrzebuję przesłać tą tablicę w formie nienaruszonej na drugi serwer przez curl i odczytać tam ją. Mam wszystko zrobione ale serwer docelowy partaczy kodowanie. Przykładowe slowo espańol i zamist ń jest znak zapytania ...

Na serwerze A zapisuje dane do pliku w formie json_encode($tablica_danych) a pozniej wysylam metoda POST przez curl zmienna ktora jest tablica json:
Kod
$slowa = urlencode( file_get_contents('tablica_danych.txt') );


nastepnie na serwerze B mam:
Kod
$slowa = json_decode( urldecode($_POST['slowa']), true);


no i wlasnie ten kod mnie doprowadzil do slepego zaulku ... probowalem do json_encode dodac JSON_UNESCAPED_UNICODE ale to zmienilo tylko sposob w jaki serwer B przekreca slowa :/ tekst ktory chce przekazac bedzie w roznych jezykacj, francuski, wloski itp.

Jakis pomysl jak przesylac ta tablice zeby poprawnie odczytywac znaki diakrytyczne ? Plik do ktorego wysylam dane ma na gorze:
  1. header('Content-type: text/html; charset=utf-8');


Ten post edytował Agape 25.11.2015, 14:59:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Agape
post
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

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


ok okazało się jednak że blad jest gdzie indziej, kodowanie jest dobre, wyswietla sie z prawidlowym znakiem ale to przy zapisie do bazy danych powstaja "krzaki" przy znakach diakrytycznych ... dodaje do bazy danych przez model ktory w konstruktorze ma:

  1. $this->db = new PDO('mysql:host='.$this->db_config['host'].';dbname='.$this->db_config['db_name'].';encoding=utf8', $this->db_config['username'], $this->db_config['password']);
  2. $this->db -> exec("SET CHARACTER SET utf8");
  3. $this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );


Dodaje wpisy poprzez $this->query($sql); Cała baza i wszystkie jej tabele maja kodowanie utf8_general_ci, plik który obsluguje żadania w nagłówku ma ustawione kodowanie UTF-8 ... skończyły mi się pomysły co to może być :/
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 16:30