Foros del Web » Programando para Internet » ASP Clásico »

acentos y ñ para mysql

Estas en el tema de acentos y ñ para mysql en el foro de ASP Clásico en Foros del Web. Tengo un problema con los acentos El problema es que, en la bd que tengo hecha en mysql, me pone en los acentos un signo ...
  #1 (permalink)  
Antiguo 17/12/2003, 14:20
Avatar de jorel  
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, N.L.
Mensajes: 253
Antigüedad: 21 años
Puntos: 0
Exclamación acentos y ñ para mysql

Tengo un problema con los acentos

El problema es que, en la bd que tengo hecha en mysql, me pone en los acentos un signo de ? (interrogación), y pues al tratar de ver los datos en una pagina asp, tambien me los muestra con el signo ? (de interogación)

así.

Si capture la palabra Enseñanza me captura
Ense?nza
Y pues al verlo en mi pag asp me muestra
Ense?nza

Y para electrónicos
guarda:
Electr?icos

y al tratar de ver, me lo muestra como lo guardo.
Electr?icos

Como le hago en asp para corregir esto y me lo muestre en español bien ?????????
__________________

:adios:

Jorge Santana
  #2 (permalink)  
Antiguo 19/12/2003, 18:23
 
Fecha de Ingreso: noviembre-2003
Ubicación: Distrito Federal
Mensajes: 225
Antigüedad: 20 años, 5 meses
Puntos: 0
La base de datos MySQL no soporta esos caracteres por no estar comprendidos en el Ingles. Lo que puedes hacer es identificar los acentos y cambiarlos por el código en HTML, por ejemplo:
a acentuada = á
e acentuada = é
i acentuada = í
o acentuada = ó
u acentuada = ú
Y la ñ por: ñ

Vas a tener que utilizar la funcion Replace 6 veces una por cada letra.
La estructura de la funcion Replace es la siguiente:
Replace("texto","cadena_a_buscar","cadena_a_rempla zar")

Otro ejemplo
Replace(tu_variable,"á","á")

Y asi para las demas, de esa forma ya las guardas directamente con el formato HTML.

Espero te sirva
  #3 (permalink)  
Antiguo 20/12/2003, 13:07
Avatar de jorel  
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, N.L.
Mensajes: 253
Antigüedad: 21 años
Puntos: 0
Gracias Ysdragil, por tu ayuda

Pero creo que el MySQL si acepta los acentos y las ñ, por que hize la prueba de editar los registros capturados, directamente en la bd y pongo acento y ñ y no me pone ningun error, el problema es cuando los insertos desde una página asp que al insertarlos me los interprata con el signo de interrogación.

Habia visto un comentario por ahi que utilizara el tipo de dato Varchar en lugar de Text pero es el mismo error me inserta el signo ?i = í


No se si tenga que ver con esto:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Alguien sabe??
__________________

:adios:

Jorge Santana

Última edición por jorel; 20/12/2003 a las 13:09
  #4 (permalink)  
Antiguo 22/12/2003, 12:44
 
Fecha de Ingreso: noviembre-2003
Ubicación: Distrito Federal
Mensajes: 225
Antigüedad: 20 años, 5 meses
Puntos: 0
No creo, incluso se lo puedes quitar y hacer la prueba, pero sinceramente no creo que eso cambie.
El cambio se me hace que lo esta haciendo el IIS y el problema es que la mayoria de los servidores estan en ingles.
Voy a hacer algunas pruebas a ver si encuentro algo
  #5 (permalink)  
Antiguo 22/12/2003, 17:00
Avatar de jorel  
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, N.L.
Mensajes: 253
Antigüedad: 21 años
Puntos: 0
Hola YSdragil,

Gracias por tu ayuda.

Mejor para terminar esto utlize la primera solución que me diste, la de escribir directamente en la bd con htm

De un formulario recogo los datos de un campo (categoria) de esta forma:

categoria = replace(TRIM(Request.Form("categoria")),"á","& aacute;")
categoria = replace(TRIM(Request.Form("categoria")),"é","& eacute;")
categoria = replace(TRIM(Request.Form("categoria")),"í","& iacute;")
categoria = replace(TRIM(Request.Form("categoria")),"ó","& oacute;")
categoria = replace(TRIM(Request.Form("categoria")),"ú","& uacute;")
categoria = replace(TRIM(Request.Form("categoria")),"ñ","& ntilde;")

(Nota le puse un espacio a los & acute para que se pueda ver bien, por que el foro me lo cambiaba a acentos)

Pero como que no me encuentra en la cadena el acento.

Tengo un list para categoria, donde pongo varias como:

Carros
Libros
Computaci&oacute;n e Internet
Varios
etc

Envio y al realizar el request de computación no me encuentra el acento, por lo tanto vuelve a insertar ?o (Para: computaci&oacute;n e Internet)

Si lo hago directamente y quito los demas request si lo hace bien.

Es decir yo se que para Computación e Internet tengo que convertir el ó a & oacute asi que solo dejo el siguiente request y lo hace bien:

categoria = replace(TRIM(Request.Form("categoria")),"ó","& oacute;")

Pero como hago para que el replace me busque en la cadena si no es ó, que busque un ú , si no í, etc por que como que nada mas recorre el primer request y en los demas ya no hace los replace?¿
__________________

:adios:

Jorge Santana

Última edición por jorel; 22/12/2003 a las 17:04
  #6 (permalink)  
Antiguo 22/12/2003, 17:20
Avatar de jorel  
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, N.L.
Mensajes: 253
Antigüedad: 21 años
Puntos: 0
A que bien, ya investigue como

Era como un tipo anidamiento del replace o sea asi

categoria = replace(TRIM(Request.Form("categoria")),"á","& aacute;")
categoria = replace(categoria,"é","& eacute;")
categoria = replace(categoria,"í","& iacute;")
categoria = replace(categoria,"ó","& oacute;")
categoria = replace(categoria,"ú","& uacute;")
categoria = replace(categoria,"ñ","& ntilde;")

Y con esto ya recorre todas las opciones,

excelente muchas gracias YSdragil, po tu ayuda
__________________

:adios:

Jorge Santana
  #7 (permalink)  
Antiguo 29/08/2008, 12:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 82
Antigüedad: 15 años, 8 meses
Puntos: 4
De acuerdo Respuesta: acentos y ñ para mysql

A ver Jorel . . . veo que te complicaron la vida . . .
No había que utilizar tanto código para que MySQL acepte los caractéres .. .

La solución MAS PRÁCTICA Es configurar el Charset de la siguiente manera:

En MySQL:
utf8 / utf8_general_ci

En donde insertas los datos de tu Formulario:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Es MUY IMPORTANTE tener los 2 Charset configurados de ésta manera . . .

Como ves . . . te hubieras ahorrado unos cuantos segundos mas en hacerlo de ésta manera . . . en fin . . .

Espero a alguien con éste mismo problema le sirva ! ! !
  #8 (permalink)  
Antiguo 03/02/2010, 09:25
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: acentos y ñ para mysql

Buenas tarde señores despues de tanto buscar...!!! por que no se ven los acentos de nuestras consultas en base de datos?, por que salen esos simbolos extraños en lugar de las vocales acentuadas y letras "ñ".

La solución es una configuración en el servidor de base de datos.

Pasos:

1) buscamos el archivo "my.cnf" en la carpeta donde tenemos instalado "mysql" en mi caso, yo usu WAMP y la configuracion esta en

C:\wamp\bin\mysql\mysql5.1.36\my.cnf

2) Abrimos el archivo con cualquier editor de Texto, en mi caso uso Notepad++

3) Agregamos los siguentes datos, cada uno en su etiqueta( [etiquetas] ) correspondiente.

[mysqld]
character-set-filesystem=UTF8
character-set-server=UTF8
default-collation=UTF8_general_ci
default-character-set=UTF8

[client]
default-character-set=UTF8

[mysqldump]
default-character-set=UTF8

4) reinicias el servidor o todos los servicios de mysql y listo, disfruta del cambio.

5) Comenta algo y aporta para que otros se veneficien como ustes hoy dia.

Gracias!

Alesandro Angelucci, [email protected]
  #9 (permalink)  
Antiguo 02/04/2010, 03:03
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
Respuesta: acentos y ñ para mysql

Cita:
Iniciado por NA1TM3R Ver Mensaje
A ver Jorel . . . veo que te complicaron la vida . . .
No había que utilizar tanto código para que MySQL acepte los caractéres .. .

La solución MAS PRÁCTICA Es configurar el Charset de la siguiente manera:

En MySQL:
utf8 / utf8_general_ci

En donde insertas los datos de tu Formulario:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Es MUY IMPORTANTE tener los 2 Charset configurados de ésta manera . . .

Como ves . . . te hubieras ahorrado unos cuantos segundos mas en hacerlo de ésta manera . . . en fin . . .

Espero a alguien con éste mismo problema le sirva ! ! !


Esta solución no es correcta, no es cierto que con uft8_general_ci los acentos o ñ se vean correctamente en mysql, si veis los registros vereis que pasa eso.

las iso-8859-1 si es la correcta en el código html.
  #10 (permalink)  
Antiguo 02/04/2010, 07:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: acentos y ñ para mysql

Primero se revive el post a los 5 años y ahora de nuevo a los 7. Dejarlo que descanse en paz

PD: La mejor manera, a mi entender, es usar escape() y unescape()
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 06/04/2010, 07:17
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: acentos y ñ para mysql

Hola ami me pasa algo similar y lo mas raro es que ese codigo estubo funcionando lo mas bien desde el 2008 hasta hace unas semanas atras, que en los campos input type me quita los caracteres acentuados las ñ y las comillas yo utlizo una db mdb que puede ser esto?
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #12 (permalink)  
Antiguo 06/04/2010, 09:42
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: acentos y ñ para mysql

una opcion podria ser cambiar la cadena a ascii, en mi blog tengo una funcion para hacerlo http://javimata.blogspot.com/2008/09...e-ascii-y.html

esto te cambiara cada caracter por su valor ascii, quizas te pueda funcionar
  #13 (permalink)  
Antiguo 06/04/2010, 11:20
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: acentos y ñ para mysql

probe con eso pero tampoco es como que cuando va a guardar a la base desaparece el caracter acentuado las ñ y las comillas.
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #14 (permalink)  
Antiguo 07/04/2010, 16:06
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: acentos y ñ para mysql

Cita:
Iniciado por virla Ver Mensaje
Hola ami me pasa algo similar y lo mas raro es que ese codigo estubo funcionando lo mas bien desde el 2008 hasta hace unas semanas atras, que en los campos input type me quita los caracteres acentuados las ñ y las comillas yo utlizo una db mdb que puede ser esto?

Alguien me puede dicir porque es esto? la verdad sigo revisando mi codigo pero esta todo normal y por lo que noto yo es como que cuando va a guardar los datos pierde esos caracteres.
espero su ayuda, gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #15 (permalink)  
Antiguo 08/04/2010, 11:33
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: acentos y ñ para mysql

Virla, por favor, abrí un nuevo tema. Este es antiquísimo, de la década pasada con creces (17-dic-2003). Además trata sobre MySQL y vos estás usando un MDB.

Gracias por tu comprensión.
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:30.