Foros del Web » Programando para Internet » ASPX (.net) »

Mal funcionamiento con caracteres especiales al enviar a SQL Server

Estas en el tema de Mal funcionamiento con caracteres especiales al enviar a SQL Server en el foro de ASPX (.net) en Foros del Web. Buenos días a todos, Primero de todo saludarles de nuevo, después de mis vacaciones merecidísimas. He estado un mes por India, y les recomiendo mucho ...
  #1 (permalink)  
Antiguo 08/11/2006, 05:18
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Mal funcionamiento con caracteres especiales al enviar a SQL Server

Buenos días a todos,
Primero de todo saludarles de nuevo, después de mis vacaciones merecidísimas. He estado un mes por India, y les recomiendo mucho que visiten ese país tanto por sus gentes como por su entorno. Yo he regresado encantado y con ganas de volver, porqué con un mes no tienes ni para empezar, pero bueno...
En fin no me enrollo más.

Tengo la siguiente duda.
En un formulario de ASP.NET tengo un botón GUARDAR, que recoge los textos introducidos en los controles y los pasa a la base de datos.
Utilizo un SqlCommand al que le voy asignando los parámetros para cada campo.
Cuando voy a comprobar los valores introducidos en la base de datos, veo que sustituye todos los caracteres especiales introducidos, por combinaciones de caracteres estandar, hasta aqui correcto.

Por poner un ejemplo: el caracter (í) lo sustituye por (í)

Pero luego tengo otra página que muestra esa información y me sigue mostrando esos caracteres "raros" en vez de volverlo a sustituir por el que corresponde.
En esta última página cargo un dataset recuperando los registros con una SELECT y el dataset lo uso como fuente de datos para un DataGrid, que es el que me muestra esa información con los caracteres "raros" todavía.
Espero haberme explicado y poder conseguir alguna solución al respecto.
Me huele que va más por la configuración de la BD que por la aplicación. Alguien se encontró con esto?
Gracias a todos.
Saludos.
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 17/11/2006, 03:00
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Que pasó. Nadie se encontró con este problema?
Revivo el post, para ver si consigo que lo vea alguna persona capacitada para ayudarme a resolver esto.
Gracias y saludos.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 17/11/2006, 09:04
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Que tal montezion fijate que yo tenia ese problema pero al querer enviar una cadena a una aplicacion que codifica un chip, la cadena en este caso tenia que enviar el caracter "þ" Alt+231, pero el problema era que cuando yo utilizava ese caracter me ponia otro, al parecer me ponia el caracter "Ì" Alt+222, y en parte, como lo tenia que enviar en bytes pues me colocaba los bytes 153 y 295 respectivamente, entonces me puse a inverstigar y encontre una talba de caracteres web, semejante a la ASCII pero web, entonces resultaba que cuando introducia un caracter extraño me colocaba otro caracter, entoncces mi solucion fue que cuando encontrara esos caracteres raros, por que esos estan en el ascii extendido, que los sustituyera, entonces supongo que debes de tener lo mismo, buscas ese caracter con, (yo uso UTF8) y despues lo sustituyes antes de mostrarlo.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #4 (permalink)  
Antiguo 17/11/2006, 10:14
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Hola erick_arcini,
Claro, ya pensé en la solución de volver a sustituir, pero no me gusta. Tendría que recopilar todos esos caracteres posibles y cada vez que muestre datos tener que hacer una infinidad de replaces.
Me gustaría solucionar el problema más que parchearlo.
Ha de ser algo de configuración del SQL, o cambiar la configuracion en mi ASP.NET de alguna forma para que eso trabaje bien.
Aqui hay mucha gente trabajando con ASP.NET y SQL Server.
Vamos echarme una manita con esto.
Venga un saludo.
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 21/11/2006, 14:59
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Me han comentado que igual puede ser por el charset que tiene definido la página.
Yo tengo estas lineas en el web.config:
Código:
<globalization fileEncoding="ISO-8859-1"
requestEncoding="ISO-8859-1"
responseEncoding="ISO-8859-1"
culture="es-ES"
uiCulture="es-ES" />
Y en la página no veo nada relacionado con el charset..
Podría ser algo relacionado con la intercalacion del campo en la base de datos?
A nadie le pasó esto?
Necesito ayuda con esto
Gracias!
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 21/11/2006, 15:06
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
que tal, ahorita que dices sobre el web.config si ves su cuadro de propiedades tiene las distintas codificaciones para los proyectos, yo tengo seleccionada la unicode UTF-8, entonces he estado haciendo pruebas vinculando mi base de datos tanto en oracle como en sql y me acepta acentos y toda esa onda, no sera por alli el problema monte...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #7 (permalink)  
Antiguo 22/11/2006, 10:15
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Hola erick_arcini,
la verdad, eso lo tienes como yo, ya que no he tocado nada respecto a eso. Todo está por defecto. Lo que si toqué fueron las lineas del web.config que puse arriba. Pero creo que eso está bien hecho, no?
La pregunta que tengo sería, teniendo en cuenta que me han dicho que puede ser culpa del charset que tenga definido en la página, qué debo mirar para saber si estoy utilizando el charset correcto o no? Me pierdo con esto...
Es que ya no sé que más mirar..
Gracias!
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 22/11/2006, 12:03
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Jooooder, que fino.

Primero de todo disculpen las molestias que les haya podido ocasionar.
Finalmente descubrí que había un punto en todo el proceso en el que, al string de salida, se le aplicaba esta función: Server.HtmlEncode
Esta era la culpable de todo, lógicamente.
Disculpad los mareos.
__________________
..:: moNTeZIon ::..
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 06:43.