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

datos con acento y ñ

Estas en el tema de datos con acento y ñ en el foro de ASP Clásico en Foros del Web. Hola a todos. A ver si se explicar el problema que tengo. Tengo que hacer un formulario y este formulario toma los datos de una ...
  #1 (permalink)  
Antiguo 28/06/2005, 10:17
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
datos con acento y ñ

Hola a todos.
A ver si se explicar el problema que tengo.
Tengo que hacer un formulario y este formulario toma los datos de una base de datos.
Tengo una lista por ejemplo paises. La lista muestra los paises que tengo almacenados en acces.
En access inserto el nombre de los paises, pero España al llevar la ñ en el formulario me lo enseña mal. Me pone Espa y un cuadrito.
Lo mismo me ocurre con los acentos, salen mal escritos.
Sabeis como se soluciona esto?
No se si me he explicado.
Gracias
Canela

Última edición por canela2; 28/06/2005 a las 10:43
  #2 (permalink)  
Antiguo 28/06/2005, 10:53
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
verifica la configuracion regional de tu sistema.
  #3 (permalink)  
Antiguo 28/06/2005, 11:02
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
La tengo es español de España.
Pero no creo que sea eso
  #4 (permalink)  
Antiguo 28/06/2005, 11:13
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Ves que aparecen 3 pestañas, la primera y la ultima deben de coincir, es especial la última la toman losprogramas.
  #5 (permalink)  
Antiguo 28/06/2005, 11:15
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Prueba como se ve en el Codigo Fuerte, es decir, si lees un campo, haz esto:

Response.write rs("CampoX)"

Es para verificar que cadena te está sacando, lo que pasa es que algunos navegadores en algunas ocasiones si aceptan desplegar los caracteres especiales, y a veces no, es cosa de su configuración, entonces, primero verifica en el Codigo Fuente si estas escribiendo bien la cadena.

Y para arreglar el problema puedes usar replaces de caracteres especiales, como:

campo1 = Cstr(rs("CampoX"))

campo1 = Replace(campo1, "á", "&aaccute")
campo1 = Replace(campo1, "é", "&eaccute")
campo1 = Replace(campo1, "í", "&iaccute")
campo1 = Replace(campo1, "ó", "&oaccute")
campo1 = Replace(campo1, "ú", "&uaccute")
campo1 = Replace(campo1, "Ñ", "&Ntilde")
campo1 = Replace(campo1, "ñ", "&ntilde")

Es una opción

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #6 (permalink)  
Antiguo 28/06/2005, 11:19
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
si en tu base de datos lo guarda bien, entonces checa la codificación en el menu ver del I.E.
  #7 (permalink)  
Antiguo 28/06/2005, 11:47
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
tambien ppuedes probar a sacarlo con server.htmlencode
  #8 (permalink)  
Antiguo 28/06/2005, 11:51
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Bien

HTMLEncode es la primera y mejor opción, sin embargo, si en tu texto quieres habilitar etiquetas de HTML, con este comando no funcionaria, porque tambien te cambiaria los simbolos de < > por su igual en html, quitando la funcionalidad de las etiquetas de HTML.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #9 (permalink)  
Antiguo 28/06/2005, 11:54
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
de acuerdo, haces un replace después y ya está, no?
  #10 (permalink)  
Antiguo 28/06/2005, 11:57
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Iniciado por canela2
La tengo es español de España.
Pero no creo que sea eso
Es el servidor o el cliente?
Que LCID tiene tu servidor?(si es que no es el mismo)

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 28/06/2005, 12:58
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Cita:
Iniciado por trasgukabi
de acuerdo, haces un replace después y ya está, no?
Pues si, creo que si, pero entra otro detalle, si en tu texto estas usando esos caracteres para algo, entonces puedes tener el error de que no se vean bien, porque los tome como etiquetas, es decir, tu texto esta como:

"Mi casa es la <b>mas</b> pequeña <jajaja>"

Entonces, en HTMLEncode arregla la "ñ" y cualquier otro, pero inhabilita las etiquetas de <b>, luego haces 2 replaces para las etiquetas de html, y descompones el <jajaja>, entonces, bueno, pues son casos que debes prevenir, claro, como dije antes, HTMLEncode es la primera y mejor opción, sin embargo tienes que tomar en cuenta estos posibles casos, para la solución que decidas tomar.

Y no es discusión , solo cuales pueden ser los casos.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #12 (permalink)  
Antiguo 28/06/2005, 13:09
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
A ver, estoy muy perdida. Tengo este código en mi página:

dim oConnpais,strSQLpais, objRSpais

Set oConnpais=Server.CreateObject("ADODB.Connection")

oConnpais.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("mibase.mdb"))


strSQLpais="SELECT * from paises"
Set objRSpais= oConnpais.Execute(strSQLpais)%>
pais<br>
<select name="pais" style="width:175px;">
<% while (not objRSpais.Eof) %>
<option>
<% =objRSpais("pais")%>
</option>
<% objRSpais.MoveNext
wend%>
</select>
<%

oConnpais.Close
set objRSpais=nothing
set oConnpais=nothing



¿Donde tengo que poner lo del replace y lo que me estais diciendo? Es que estoy comenzando con el asp y no se muy bien de que me hablais.
Gracias por contestar.
Canela
  #13 (permalink)  
Antiguo 28/06/2005, 13:12
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

Para lo que tienes, creo que sería así:

dim oConnpais,strSQLpais, objRSpais

Set oConnpais=Server.CreateObject("ADODB.Connection")

oConnpais.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("mibase.mdb"))


strSQLpais="SELECT * from paises"
Set objRSpais= oConnpais.Execute(strSQLpais)%>
pais<br>
<select name="pais" style="width:175px;">
<% while (not objRSpais.Eof) %>
<option>
<%=Server.HTMLEncode(Cstr(objRSpais("pais")))%>
</option>
<% objRSpais.MoveNext
wend%>
</select>
<%

oConnpais.Close
set objRSpais=nothing
set oConnpais=nothing
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #14 (permalink)  
Antiguo 28/06/2005, 13:21
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años
Puntos: 0
Muy bien. Ha funcionado perfectamente.
Muchas gracias.
Que haria yo sin este foro.
Mil Gracias.
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.
Respuesta




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