Dentro de nuestra tabla:
Dentro de la tabla establecer el charset del campo a: utf8 Collation: utf8_general_ci .
A mi esta combinación me ha funcionado, he leído por allí Collation: utf8_unicode_ci y utf8_spanish_ci.
Dentro de nuestra código de conexión a base de datos:
MySQL: $DBname = “nombredebase”;
mysql_connect(‘IP’,'usuario’,'clave’) or die(“No pude conectarme a MySQL” . mysql_error());
mysql_select_db($DBname) or die(“Base de datos $DBname no se encuentra disponible”);
mysql_query (“SET NAMES ‘utf8′”);
La última parte, establece el charset que será intercambiado con la base de datos en los queries.
Dentro de los encabezados HTML:
<meta http-equiv=”conten-type” content=”text/html; charset=UTF-8″ />
Le decimos al browser del chartset a utilizar, esto lo puedes utilizar también si utilizar acentos dentro de tu código html, de modo de asegurar que nos e muestren los caracteres raros dentro de tu página.
Dentro del Javascript / AJAX:
var valor = encodeURI(document.getElementById(nombreObjeto).value);
Lo que mandes en tu ajax, sobretodo si lo mandas por GET.
A tomar en cuenta, como método adicional de aseguramiento del charset, y como estas utilizando PHP, puedes establecerlo en los encabezados:
header (‘Content-type: text/html; charset=utf-8′);
Y además codificar las strings utlizadas:
$html = htmlspecialchars($utf8_string, ENT_COMPAT, ‘UTF-8′);
Espero todo esto te sirva de modo que las lagrimas que yo derramé sean las que a tí te ahorré. |
buen post george, informacion muy util
Me ayudo bastante, es la información que estaba buscando, gracias
Muy buen post me sera muy valioso espero conseguir más datos del tema gracias
tengo la siguiente funcion:
function seleccionar(valor){
$(‘cargando’).update(“Cargando…”);
new Ajax.Updater(‘contenidoajax’, ‘ajax/ajax_doctores.php’, {
method: ‘get’,
parameters: {valor: valor},
onSuccess: function(){
$(‘cargando’).update(“”);
}
});
}
y por otro lado tengo la pagina php que me regresa la informacion correcta que requiero. esta pagina la abro directamente el select que lleno de la base de datos me muestra todos los acentos y las ñ sin problema.
sin embargo cuando realizo la consulta por la pagina de ajax me regresa algo parecido a “Cirug�a Vascular” sin comillas.
He intentado de todo para poder quitar esto y ya