Al intentar recuperar caracteres acentuados de una base de datos con codificación latin1_swedish_ci y codificarlos en JSON usando json_encode(), el resultado puede ser inesperado. El resultado deseado, como "Abord â Plouffe", se transforma en "nulo", lo que invalida el JSON codificado.
Para resolver este problema, es necesario codificar los valores recuperados en UTF-8 explícitamente antes aplicando json_encode(). Esto garantiza que la salida JSON contenga los caracteres UTF-8 correctos y se valide en consecuencia. A continuación se explica cómo implementar esta solución:
// Initialize an empty array for the encoded result set
$rows = array();
// Iterate over the PHPMyAdmin result set
while ($row = mysql_fetch_assoc($result)) {
// Apply UTF-8 encoding to each row value
$rows[] = array_map('utf8_encode', $row);
}
// Output the encoded $rows
echo json_encode($rows);
En este código modificado, utilizamos la función array_map para aplicar utf8_encode a cada elemento de cada fila en el conjunto de resultados. Esto garantiza que todos los caracteres estén codificados correctamente en UTF-8 antes de ejecutar json_encode. En consecuencia, la salida JSON resultante reflejará los caracteres deseados con precisión, conservando los caracteres acentuados como se desee.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3