Autor | Zpráva | ||
---|---|---|---|
ybznek Profil |
#1 · Zasláno: 19. 8. 2009, 21:05:25
používám JQuery a pokouším se v něm načíst data pomocí JSON z externího souboru. Potřebuju v php nějak zakódovat diakritiku, aby ji pak JQuery přečetl, jakou funkci mám použít? zkoušel jsem json_encode() ale pak to prostě diakritiku úplně vynechává
|
||
Alphard Profil |
#2 · Zasláno: 19. 8. 2009, 21:12:13
Zkuste zjistit, kde konkrétně se diakritika rozbije. Mimochodem, pro testování AJAXu je vynikající rozšíření Firebug do Firefoxu.
Mně to vždycky fungovalo bez zvláštní péče o diakritiku, vše mám v utf-8 a nebyl problém. |
||
ybznek Profil |
#3 · Zasláno: 19. 8. 2009, 21:47:08
Alphard
teď mě napadlo, jak to udělat bez JSONa, ale i při normálním $.get() to má tu diakritiku špatně. (konktrétně "Š", ale bude jich víc) v UTF-8 to taky mám |
||
Alphard Profil |
#4 · Zasláno: 19. 8. 2009, 22:01:43
Možná by pomohla kombinace urlencode() na straně PHP (nebo máte statický zdroj?) a unescape() na straně javascriptu, ale připadá mi to jako zbytečně složité.
|
||
ybznek Profil |
#5 · Zasláno: 20. 8. 2009, 10:40:56
Alphard
takže, obešel jsem JSON a použil klasický GET, problém byl stále, ale vyřešilo to odeslání charset windows-1250 v hlavičce, což nechápu proč, když je vše v UTF8 teď řeším opacný problém, musím zaEscapovat data, co se posílají na "server", ale pak mi nejdou odescapovat funkcí urldecode() jakou funkci mám použít? |
||
Alphard Profil |
#6 · Zasláno: 20. 8. 2009, 10:58:33
ybznek:
„ale vyřešilo to odeslání charset windows-1250 v hlavičce, což nechápu proč, když je vše v UTF8“ To je vážně divné, jste si skutečně 100% jistý, že jsou uložena v utf? „musím zaEscapovat data, co se posílají na "server", ale pak mi nejdou odescapovat funkcí urldecode()“ To mi opět připadá nestandardní. Já data v JQuery posílám pomocí $.post( a funguje to. Zkuste si nejdříve zkontrolovat kódování všech souborů. |
||
Chamurappi Profil |
#7 · Zasláno: 20. 8. 2009, 11:05:19
Reaguji na ybznka:
„musím zaEscapovat data, co se posílají na "server", ale pak mi nejdou odescapovat funkcí urldecode()“ Zaescapuješ je v JS pomocí funkce encodeURIComponent a o dekódování se stará server sám, ne? |
||
ybznek Profil |
#8 · Zasláno: 20. 8. 2009, 13:01:36
myslím, že jsem to vyřešil, i když nevím, jak
problém byl v kódování, ale jinde, soubory mám určitě v utf, ale v tom který "dává data ajaxu" mám header s charset windows 1250, nakonec jsem to vyřešil ICONVem |
||
Časová prodleva: 15 let
|
0