Cita: la funcion json_encode me está transformando todos los caracteres especiales(<,>,&, letras con acento,ñ,etc) en sus respectivo caracteres especiales(<>& etc)
Falso.
Ejecuta el siguiente código:
En ningún momento se están convirtiendo en entidades los caracteres especiales como mencionas.
Cita: He probado a enviar el registro ese de HTML sin JSON, osea sin utilizar el encode y al recuperarlo desde javascript y pintarlo si que lo hace bien por lo que no tiene nada que ver con la BD y las codificaciones.
Yo igual, con el código que te acabo de mostrar, ¿ćomo puedes estar seguro de que no es culpa de la BD entonces?
Cita: ¿hay alguna forma de evitar que el json_encode transforme esos caracteres a su correspondiente código?
Pues no lo hace, ya te lo he demostrado.
Tu problema debe estar en otro lado, tal vez aquí:
Cita: Tengo un servicio en PHP que me devuelve una serie de datos.
¿Seguro que dicho servicio no es el que te devuelve ya codificados dichos caracteres?
Que la culpa no la tiene json_encode() como quisieras creer.