El API de Citybik.es en JSON usa UTF-8 para codificar los caracteres. En el primer intento de hacer los mapas térmicos de bicing, las etiquetas de las estaciones con nombres con acentos o cedillas salían con “un garabato”.
El parsing del JSON lo hago con jQuery y al inspeccionar las variables podía ver que el garabato venía directamente del API:
… ¿o no?, ¿qué me devuelve el API antes de llamar a $.getJSON ?
Es decir, jQuery se está haciendo la picha un lío con el encoding de los caracteres. El API me devuelve UTF-8, que es perfectamente válido para JSON, pero me da a mi que jQuery espera Unicode.
La solución tras una hora de búsqueda es, como casi siempre, una sola línea de código, antes de llamar a getJSON:
$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"});




