Hace poco cambié algunas de mis páginas para mostrarlas a través de ajax y tengo cierta confusión sobre por qué la codificación utf8 ahora muestra un signo de interrogación dentro de un cuadro, mientras que antes no lo era. t.La codificación UTF8 no funciona cuando se usa ajax
Por ejemplo. La página de oringal era index.php. charset fue establecido explícitamente en utf8 y está en el <head>
. Luego utiliza PHP para consultar la base de datos
Heres es la página index.php originales:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Title here</title>
</head>
<body class='body_bgcolor' >
<div id="main_container">
<?php
Data displayed via php was simply a select statement that output the HTML.
?>
</div>
Sin embargo, cuando hice el cambio para agregar un menú que poblaron el "main_container" a través de AJAX todo el UTF-8 la codificación dejó de funcionar. Aquí está el nuevo código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Title here</title>
</head>
<body class='body_bgcolor' >
<a href="#" onclick="display_html('about_us');"> About Us </a>
<div id="main_container"></div>
El "display_html()" función llama a la página de JavaScript que utiliza la llamada jQuery ajax para recuperar el HTML almacenado dentro de una página php, a continuación, coloca el código HTML dentro del div con un id de " main_container ". Estoy configurando el juego de caracteres en jquery para que sea utf8:
$.ajax({
async: false,
type: "GET",
url: url,
contentType: "charset=utf-8",
success: function(data)
{
$("#main_container").html(data);
}
});
¿Qué estoy haciendo mal?
creo que es un problema ** ** BOM Byte marca de orden de http://www.google.it/search?hl=it&q= + Byte + Pedido + Marca + (BOM) & aq = f & aqi = & aql = & oq = & gs_rfai = –