En este grupo En todos

Grupo de Ajax



Cómo soluciono el problema de tíldes(´) y eñes(ñ) con AJax

Fernando Andrés
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 11/05/2009 | Nivel Medio

-

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 18/05/2009 | Nivel Medio

Gracias, amigo lo probaré cuando llegue a casa.!

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 21/05/2009 | Nivel Medio

Mira, he trabajado con java y he tenido el mismo problema y utilizo siempre :

Charset=iso-8859-1;

Ahora también puedes predeterminar eso desde la BD en su configuración. También se puede usar script así:

//replace hace el cambio por el valo hexadecimal correspondiente al valor
String.prototype.transformaCaracteresEspeciales = function() {
return unescape(escape(this).
replace(/%0A/g, '<br/>').
replace(/%3C/g, '&lt;').
replace(/%3E/g, '&gt;'));
}

Con esto aseguras todos los caracteres especiales y se transforman. Deberás buscar el resto de los caracteres para seguir añadiendolos.

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 22/05/2009 | Nivel Medio

Felipe tengo en la BD Cotejamiento UTF8 general_ci
y en el php en la etiqueta meta esta:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

tambien he utlizado los encode y decode para pasar las variables por referencia y nada
el código que puso como lo adapto?

Gracias

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 26/05/2009 | Nivel Medio

En este momento estoy trabajando en java y el cotejamiento en la bd lo tengo así:

Latin1_swedish_ci

Y este es el encabezado que pongo en el html

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

así me funciona para este proyecto. En algunos por necesidad debo modificarlo.

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 26/05/2009 | Nivel Medio

Tambien puedes predeterminarlo en html con

<html lang="es">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
unicode-utf-8 enla bd

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 02/06/2009 | Nivel Medio

Ok!

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 02/07/2009 | Nivel Medio

Esto no me funcionò

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Yo tambien tengo el mismo problema estoy intentando ingresar caracteres como ñ áéíóú a mi base de datos con ajax y php, pero el problema está en pasar el caracter por ajax. En mysql tengo utf8_general_ci y cuando realizo una inserción de un dato directamente desde phpmyadmin, graba los símbolos sin problema, el problema está cuando paso los datos por ajax.

Ya he intentado lo de las etiquetas como

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

y el header en php para que reconozca los datos pero nada ha funcionado hasta ahora.


Planteo 2 soluciones posibles una como dicen anteriormente, hacer una función para cambiar estos caracteres antes de usar ajax, de tal forma que al usar ajax se pasen los caracteres como ASCII.


O algo que encontre en la red que puede servir si se sabe implementar:

AJAX utf-8 encoding problem
The following code using AJAX POST causes some Chinese characters to turn into question marks. The same string submitted in a regular form with accept-charset=utf-8 works without any problem.

I googled around and couldn't find a solution. Any suggestion on how to tackle this problem would be greatly appreciated.

xmlHttp. Open('POST', url, true);
xmlHttp. SetRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp. SetRequestHeader("Content-length", postString. Length);
xmlHttp. SetRequestHeader("Accept-Charset","UTF-8");
xmlHttp. SetRequestHeader("Connection", "close");

xmlHttp. Send(postString);

POR FAVOR SI ALGUIEN RESUELVE EL PROBLEMA, COMENTELO EN ESTE BLOG



Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 23/07/2009 | Nivel Medio

Creo que deberías ver tambien como tienes configurada la base de datos.

Ya he dado varias formas de solucionarlo pero esta es otra:

Para php:

<? Header('Content-Type: text/xml; charset=ISO-8859-1');

Echo '<? Xml version="1. 0" encoding="ISO-8859-1"? >';? >


Para asp:

<%response. Charset="ISO-8859-1"%>


}

Si enviamos un contenido por POST, este va a ser enviado siempre por UTF-8, pero si lo envíamos por GET, será codificado en ISO-8859-1 en Mozilla y en UNICODE en IE, usando la función escape

La función encodeURI y encodeURIComponent, tanto en IE, como en Mozilla envía la representación UTF-8


Acá les dejo un sitio bien interesante para la solucion de esto de varias formas:

Https://xkr. Us/articles/javascript/encode-compare/

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

He avanzado un poco con respecto a lo anteriormente escrito y ahora sé que el problema no es el ajax dado que los caracteres pasan bien según una impresíon de éstos luego de usar ajax. Ahora solo quedó descartar la bd, efectivamente el problema está en la inserción directa con php y mysql... Si encuentro otra cosa les comento

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 23/07/2009 | Nivel Medio

String.prototype.transformaCaracteresEspeciales = function() {
return unescape(escape(this).
replace(/%0A/g, '<br/>').
replace(/%3C/g, '&lt;').
replace(/%3E/g, '&gt;'));
}

Esto tambien sirve en javascript y ajax debes encontrar los caracteres especiales que necesitas reemplazar.

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Ahh olvidaba solicitarles atentamente que visiten mi web https://contadorvirtual.isgreat.org

Gracias!

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 23/07/2009 | Nivel Medio

Mira, esto es de mi modelo de trabajo, si no te sirve, nada te sirve:

Function probar_XMLHttpRequest() {
xmlhttp=get_xmlhttp()
var valor=document. GetElementById("valor"). Value
var xml=(document. GetElementById("xml"). Checked)? 1:0;
enviar(xmlhttp,"GET","tuArchivo. Php? Valor="+encodeURIComponent(valor)+"&xml="+xml,true,tuFuncion);
}

Felipe Cáceres
Tecnologia en informatica universidad ...
Escrito por Felipe Cáceres
el 23/07/2009 | Nivel Medio

Ah, no por nada, pero no me gustó tu sitio

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Listo muchachos ya lo resolví, es tan facil como colocar esta meta en nuestro index. Php

<meta http-equiv="Content-Type" content="text/html; charset=iso-10646" />

Y listo, entran y salen de la base de datos tal y como deberían, ahora hay que recordar que para ésto su navegador debe tener la codificación UTF-8 activada, de lo contrario jamás lo verán así

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

!

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Parece que mi último comentario no se posteó como esperé pero ahi va de nuevo:

Basta con colocar la siguiente meta en el index. Php


<meta http-equiv="Content-Type" content="text/html; charset=iso-10646" />


Y asegurarse que el navegador tenga activada la codificación UTF-8; de igual forma les recomiendo que al realizar la conexión con la bd mysql:


Function conectar() {
if(! ($con=@mysql_connect("nombrebd","usuario","password"))){
header( "Location: https://misitio. Com/error. Php");
exit();
}
if(! @mysql_select_db("fees0_2290937_contadorvirtual",$con)){
header( "Location: https://misitio/error BD. Php");
exit();
}
mysql_query ("SET NAMES 'utf8'");


Coloquen ésta última línea para asegurarnos de que los datos salgan como deseamos. De igual forma hay que ponerle en phpmyadmin para que las conexiones manejen utf8_bin que es el multilenguaje del utf8. Espero que te haya servido mi informacíon, así lo acabo de resolver yo. Bye!

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Estas cookies me vuelven loco, que carga, que no carga... Me jode la caché

123 123
La Massana, Andorra
Escrito por 123 123
el 23/07/2009 | Nivel Medio

Gracias por visitar mi sitio, y aunque opines de manera negativa a priorí(pues ni siquera te has inscrito) de un servicio GNU que puede ser muy util en las pymes, pienso que no comprendes el potencial y valor de cada apote a la comunidad GNU... Bye... Gracias!