Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
petr
Tvůrce
Avatar
petr:22.4.2014 13:24

Ahoj, v php vytvářím json string z pole pomoci json_encode. Na straně klienta mám $.ajax který tento json načte, ale tady nstava problém, Pokud uvedu dataType:"json" ajax ohlasi parseerror - vola funkci v error:, pokud dataType neuvedu a načtu to jako string, error zahlásí funkce parseJSON. Když si string výpíšu, vidím že obsahuje BOM. Lze se ho nějak zbavit? Kdo ho tam vůbec vkládá? Výstup z PHP ho neobsahuje. Děkuji.

 
Odpovědět
22.4.2014 13:24
Avatar
Standa
Člen
Avatar
Standa:22.5.2014 12:21

Ahoj,
právě jsem narazil na tvůj dotaz. Mám úplně stejný problém. Největší tragédie je, že mi to fungovalo bez problémů, než jsem se pokusil všechny zdrojové soubory převést na jednotné kódování UTF-8. Našel jsi nějaké řešení? Budu vděčný za každou radu, už se s tím trápím dva dny. Díky. Standa

 
Nahoru Odpovědět
22.5.2014 12:21
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Standa
David Hartinger:22.5.2014 12:32

A posíláš před jsonem také header?

header('Content-type: text/json; charset=utf8');
Nahoru Odpovědět
22.5.2014 12:32
You are the greatest project you will ever work on.
Avatar
Standa
Člen
Avatar
Odpovídá na David Hartinger
Standa:22.5.2014 12:55

Posílám

$arrayToJs = array();
$arrayToJs['hash'] = $hash;
header('Content-type: text/json; charset=utf8');
echo json_encode($arrayToJs);

a výsledek

{"hash":"d41d8cd98f00b204e9800998ecf8427e"}
Editováno 22.5.2014 12:57
 
Nahoru Odpovědět
22.5.2014 12:55
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Standa
David Hartinger:22.5.2014 15:01

Tak musíš mít ten soubor špatně kódován, dělám tohle běžně a nikdy jsem s tím neměl problém. Asi to kóduješ s BOM. Je dobré kvůli tomuhle používat nějaké chytré IDE, které to kódování řeší za tebe.

Nahoru Odpovědět
22.5.2014 15:01
You are the greatest project you will ever work on.
Avatar
Standa
Člen
Avatar
Standa:23.5.2014 7:18

Používám Visual Studio 2010, kvůli tomuto problému jsem si nainstaloval i PSPad a Notepad++ a pořád na to nemůžu přijít. Máš pravdu, problém je v kódování, já to u jiných aplikací používám taky bez problémů. Budu ještě experimentovat. Díky.

 
Nahoru Odpovědět
23.5.2014 7:18
Avatar
Standa
Člen
Avatar
Standa:23.5.2014 17:32

Problémem byl editor, MS Visual Studio. Když jsem všechny zdrojové soubory vyeditoval a uložil v PSPadu, bylo všechno v pořádku. V VS jsem nastavení BOM znaků v UTF-8 zatím nenašel. Díky.

 
Nahoru Odpovědět
23.5.2014 17:32
Avatar
Odpovídá na Standa
Michal Žůrek - misaz:23.5.2014 17:36

File > Advance Save options

 
Nahoru Odpovědět
23.5.2014 17:36
Avatar
Standa
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Standa:23.5.2014 17:46

To ano, ale ani jedno nastavení mi nezabralo na BOM znaky.

 
Nahoru Odpovědět
23.5.2014 17:46
Avatar
Odpovídá na Standa
Michal Žůrek - misaz:23.5.2014 17:50

pokud vím dobře, tam BOM má jenom UTF-8, neříkej že sis v tom dlouhém seznamu nevybral.

 
Nahoru Odpovědět
23.5.2014 17:50
Avatar
coells
Tvůrce
Avatar
Odpovídá na Standa
coells:23.5.2014 18:32

VS 2010: File -> Save As -> Save [rozklikni sipecku] -> Save with Encoding -> Unicode (UTF-8 without signature) nebo Unicode (UTF-8 with signature)

BOM je velice užitečná věc a nepoužívá ji jen UTF-8, ale každý unicode encoding se může takhle identifikovat.

 
Nahoru Odpovědět
23.5.2014 18:32
Avatar
Standa
Člen
Avatar
Standa:23.5.2014 18:33

Já jsem chtěl UTF-8, ale bez BOM a to se mi nepovedlo. V PSPadu je toto nastavení. Ve VS jsem nic podobného nenašel.

 
Nahoru Odpovědět
23.5.2014 18:33
Avatar
coells
Tvůrce
Avatar
Odpovídá na Standa
coells:23.5.2014 18:36

tak zkus můj postup v předchozím příspěvku

 
Nahoru Odpovědět
23.5.2014 18:36
Avatar
Standa
Člen
Avatar
Odpovídá na coells
Standa:23.5.2014 18:37

Jestli to dobře chápu, tak signature je BOM? Díky.

 
Nahoru Odpovědět
23.5.2014 18:37
Avatar
coells
Tvůrce
Avatar
Odpovídá na Standa
coells:23.5.2014 18:41

Ano, soubor jsem si takhle uložil s i bez BOM.

 
Nahoru Odpovědět
23.5.2014 18:41
Avatar
Standa
Člen
Avatar
Odpovídá na coells
Standa:23.5.2014 18:49

Díky za radu. Standa

 
Nahoru Odpovědět
23.5.2014 18:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.