[php]json_encode problem

Uporabiti želim autocomplete implementacijo (jQuery UI) vendar imam problem, iz baze dobim besede s šumniki (Imena vseh slovenskih krajev) in funckija json_encode v phpju očitno ne prenese šumnikov, tako, da namesto vrednosti vrne null. Obstaja kakšna enostavna rešitev ali spremenim imena vseh krajev s šumniki iz ŠČŽ v "HTML kode" ($#...;)?

hvala

7 odgovorov

ok sedaj sem v bazi spremenil vsa imena in šumnike zamenjal s kodo, tako da sedaj dobim lepo rezultate prejo ajaxa ampak sedaj so na seznamu šumniki s kodami in ne pretvorjeni. poiskusil sem tudi s UNICODE in isto ne deluje. kakšni predlogi?

preveri, kakšne encodinge imaš (baza, tabela, field, ter kako je file sejvan... )
jaz imam recimo ves cas probleme, ce ne dam

header("Content-type: text/html; charset=utf-8"); ?>

pa je povsod nastavljeno na utf-8

če zaženem php datoteko v brskalniku šumniki so, jquery jih potem ne prikaže pravilno v autocomplete seznamu. baza je v utf-8, tudi s to vrstico ni sprememb.

drugače pa nasplošno kako rešujete težave s šumniki pri pošiljanju z ajax-om? jaz imam vedno težave, probal sem že z miljon nastavitvami pa nobena ne pomaga.

kaj pa ce poskusas z iconv pred outputom?

pa se 2 linka, ce kej pomaga:
http://www.sitepoint.com/forums/showthread.php?t=616215
http://stackoverflow.com/questions/410704/cyrillic-characters-in-phps-json-encode

Zadevo sedaj pogono rešil s pomočjo pretvarjanja v javascript v "url" kodo (%8A), isto je tudi v bazi, potem ko pa dobim vrnjeno preko ajaxa pa spet nazaj v šumnike. Ker je deadline dokaj blizu bo to dovolj zaenkrat (problem je ker sedaj % pri mysql poizvedbi smatra za dodaten atribut pri LIKE poizvedbi).

tako da mislim da edina rešitev je spreminjanje v javascript v neke druge nize, potem v phpju spet nazaj ter še enkrat spet kodiranje in v javascript sped decodiranje. mogoče bi bilo pametno uporabiti kar kako že obstoječe kodiranje (base64) za celoten string.

Preveč kompliciraš stvar :D

Če imaš povsod utf-8, ti mora prikazati šumnike...saj jquery nič ne spreminja kodiranja, samo prikaže tisto kar dobi :D torej nimaš povsod utf-8

ni šlo pa če sem se na glavo postavil :D saj nima veze. trenutno dela, ko pa bo čas pa še grem enkrat počasi preverjat kje bi dejansko lahko prišlo do napak.