Esta haciendo un pequeño plugin usando los params de las tabla de Joomla para poder tratarlos y devolvérselos correctamente con mi actualización, el problema reside que al usar el json_encode me sustituía las tildes y las ñ por parámetros como estos.
\u003Cfoo\u003E»,»\u0027bar\u0027″,»\u0022baz\u0022″,»\u0026blong\u0026
comencé a usar funciones para averiguar si me estaba llegando correctamente los datos en UTF8 por $_POST
echo «ENCODING=».mb_detect_encoding($string);
Y si todo estaba perfecto, siguiendo algunos consejos de StackOverflow, para forzar la codificación no me devolvía nada de nada.
$json = json_encode($obj, JSON_UNESCAPED_UNICODE);
Hasta que finalmente encontré una función para eliminar los códigos UNICODE
function jsonRemoveUnicodeSequences($struct) {
return preg_replace(«/\\\\u([a-f0-9]{4})/e», «iconv(‘UCS-4LE’,’UTF-8′,pack(‘V’, hexdec(‘U$1’)))», json_encode($struct));
}
Ahora en vez de enviar directamente mi params a json_encode lo envió a la función jsonRemoveUnicodeSequences y listo ya tenemos nuestro insert perfecto y guardando correctamente los datos en las tablas de MYSQL.
Función encontrada en http://www.avoid.org/?p=67