Autor Zpráva
vojtak
Člen
Dobrý den,

mám následující problém..

mám pole opsahující toto:


$array[] = array('1' => 'ěščřčřžý');

json_encode($array);



a výstup bohužel


[{"1":null}]



Co s tím?

Moderátor Chamurappi: Dotaz se zjevně týká PHP, ne JavaScriptu, přesouvám.
vojtak
Člen
Moderátor Chamurappi: Přesunuto z json_encode - problém s diakritikou, máš úplně jiný problém.

mám stejný problém, akorát, že mně vyjede null
Alphard
Moderátor
vojtak:
Jak píše manuál This function only works with UTF-8 encoded data. Volně přeloženo, daná funkce pracujen jen s utf-8.
Jestli pracujete s něčím jiným, tak bude nutné napsat alternativu, nebo řetězec vždy překódovat. Pokud jde o vytvoření alternativní funkce, záleží, jak složitá pole chcete převádět. Pro jednoduchá pole je to triviální, pro složitější už to není taková sranda.
vojtak
Člen
už si s tím tady nějakou dobu hraju... data loaduju z db, která je v utf-8, porovnávání nastavene na utf8_general_ci. Na pole pak ještě pustim fci utf8_encode(), nevim proč je to porad nebere...
Alphard
Moderátor
utf_8encode() v tom akorát udělá další bordel a porovnání v databázi by nemělo být podstatné. Před dotazem zavolejte set names 'utf8', vyberte data do pole a pošlete ho funkci json_encode(). Nic víc do cesty nedávejte. Předpokládám, že script samotný je v utf-8, i když by na tom nemělo záležet.
vojtak
Člen
Alphard: diky set names pomohla... :) to byl zas boj

(Zapomenuté heslo?)

Vaše odpověď

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvacet-čtyři: