Autor Zpráva
vojtak
Profil
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
Profil
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
Profil
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
Profil
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
Profil
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
Profil
Alphard: diky set names pomohla... :) to byl zas boj

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: