Cita: Como ves, antes se ve correctamente el código HTML del campo 'texto' y en el DESPUES muchos de los caracteres han sido transformados.
Pues leyendo únicamente lo que viene en texto lo veo perfecto:
Cita: "texto":"<p><img style=\"float:left;margin-right:15px;width:250px;\" src=\".\/recursos\/logo-jquery-mobile.png\" alt=\"jQuery mobile\"\/>Son muchas las ventajas de utilizar <span class=\"texto-amarillo\">jQuery Mobile<\/span> pero, a veces, también nos encontramos con problemas que habitualmente no encontraríamos y el utilizar jQuery Mobile lo complica un poco.<\/p>\r\n\r\n<p>En este caso, si queremos <span class=\"texto-amarillo\">pasar parámetros<\/span> a través de la <span class=\"texto-amarillo\">URL<\/span> igual que haríamos en HTML, por ejemplo, <span class=\"texto-verde\">www.midominio.com\/verNoticia?id=12<\/span> , nuestra primera idea para hacer esto sería poner un enlace parecido a esto:<\/p>\r\n\r\n<pre class=\"brush:xml\">\r\n\r\n\t<a href=\"#verNoticia?12\" data-role=\"button\">Ver noticia 12<\/a>\r\n\t\r\n<\/pre>\r\n\r\n<p>Sin embargo, esa variable es obviada por <span class=\"texto-amarillo\">jQuery Mobile<\/span> a la hora de cambiar de página y no funciona. La mejor forma de conseguir esa funcionalidad es utilizar el <span class=\"texto-amarillo\">almacenamiento en sesión<\/span> mediante <span class=\"texto-verde\">sessionStorage()<\/span>.<\/p>\r\n\r\n<p>Para hacerlo deberíamos hacer algo como lo siquiente:<\/p>\r\n\r\n<pre class=\"brush:xml\">\r\n\t<a href=\"#verNoticia\" onclick=\"sessionStorage.idVerNoticia='12';\" data-role=\"button\"> Ver noticia 12\t<\/a>\r\n<\/pre>\r\n\r\n<p>Una vez que clicamos sobre el enlace para acceder al detalle de la noticia debemos tratar de <span class=\"texto-amarillo\">recuperar ese parámetro<\/span> en la pagina de detalle. Para hacer debemos hacer lo siguiente:<\/p>\r\n\r\n<pre class=\"brush:js\">\r\n\r\n\t<script type=\"text\/javascript\">\r\n\t\t\r\n\t\t$(\"#verNoticia\").on (\"pageshow\", function(){\t\r\n\t\t\r\n\t\t\tvar idNoticia=sessionStorage.idVerNoticia;\r\n\t\t\t\r \n\t\t\t\/** Una vez obtenido el ID de noticia hacemos lo necesario para cargar los datos de la noticia **\/\r\n\t\t\r\n\t\t});\r\n\t\r\n\t<\/script>\t\r\n\t\r\n<\/pre>\r\n\r\n<p>Como véis, justo antes de mostrar el contenido de la página recuperamos el ID de la noticia y hacemos las operaciones oportunas para cargar los datos de esa noticia.<\/p>\r\n\r\n<p>Esta es la forma más sencilla de pasar y recuperar variables GET a través de URL.<\/p>",
Salvo los acentos, que probablemente escapaste anteriormente (cosa que no puedo adivinar) todo luce perfecto, el HTML sigue bien formado y no se ha modificado como dices.
¿No será que en algún otro punto de tu programación Javascript (que tampoco muestras) modificas esto sin darte cuenta?
Vamos, que la evidencia es clara, json_encode() no tiene culpa de nada.