Lo que sucede es que no tienes ni idea de cómo se expresa JSON con respecto a caracteres unicode, acentos, etc.
Mira:
Y desde luego, si aplicas json_decode() o JSON.parse() desde Javascript
:
Código Javascript
:
Ver originalconsole.log(JSON.parse('"Geograf\u00eda"'))
// Geografía
Eso es correcto, y así es como debe funcionar.
Ahí no hay error alguno.