Caracteres especiales (SQL 2008)

17/10/2009 - 09:57 por QuePacha | Informe spam
Hola,

al guardar caracteres especiales (ñ, á, é, í, etc) desde el SQL
Management Studio, se ven tal cual, pero al hacerlo desde una página
ASP con OLEDB, guarda caracteres extraños, por ej. la "ñ" la guarda
como "à±". ¿Cómo hacer para que lo guarde bien? ¿Es un tema de
configuración de la base de datos, o de los tipos de campo (que son
varchar y no nvarchar, aq yo preferiría no usar los n por tema de
espacio)?

Gracias

Preguntas similare

Leer las respuestas

#1 Maxi Accotto
17/10/2009 - 15:07 | Informe spam
Hola, no es un tema de la base de datos, en primer lugar si vas a usar
caracteres unicode si los campos deberian ser Nchatr o nvarchar en lugar de
varchar o char.
Si desde tu SSMS funciona que es una aplicacion externa como la que puedes
desarrollar en ASP.NET o cualquier otro lenguaje, entonces tu problema esta
en como esa aplicacion
maneja los datos



Maxi Accotto
MVP en SQL Server
http://blog.maxiaccotto.com

"QuePacha" wrote in message
news:
Hola,

al guardar caracteres especiales (ñ, á, é, í, etc) desde el SQL
Management Studio, se ven tal cual, pero al hacerlo desde una página
ASP con OLEDB, guarda caracteres extraños, por ej. la "ñ" la guarda
como "à±". ¿Cómo hacer para que lo guarde bien? ¿Es un tema de
configuración de la base de datos, o de los tipos de campo (que son
varchar y no nvarchar, aq yo preferiría no usar los n por tema de
espacio)?

Gracias
Respuesta Responder a este mensaje
#2 QuePacha
17/10/2009 - 20:18 | Informe spam
Hola, gracias por responder.

la "ñ" y las vocales acentuadas están dentro de los 255 caracteres del
código ASCII. Es evidente que en español se van a usar. Yo creo que el
Unicode es más bien si vas a trabajar con diferentes lenguajes. Por lo
tanto, con los campos char, varchar y text debería bastar. Y la prueba
es que desde el SSMS se guardan bien esos caracteres especiales.

Si, parece lógico suponer que el problema puede venir de las páginas
ASP (no ASP.NET en mi caso). Realmente al leer esos datos desde la
base de datos, los representa bien, pero creo que me dará problemas,
usando instrucciones como LEN, LEFT, etc. He estado viendo temas como
CHARSET de la página, pero no me queda muy claro qué poner. Si alguien
me lo puede aclarar, se lo agradezco

Saludos
Respuesta Responder a este mensaje
#3 Aguardientico
17/10/2009 - 22:47 | Informe spam
Hola,

Sería bueno saber que charset tiene configurada tu base de datos pero prueba
en tu página web poniendo lo siguiente:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
o prueba también
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

una de estas dos opciones debe hacer que se guarden bien los caracteres en
tu base.

El problema que debes tener es que la base y la página no "estan hablando el
mismo lenguaje" para tratar de ponerlo en español eso significa que el
conjunto de bits que se utilizan para representar cada caracter es diferente
y por eso guarda otros símbolos.

Atte.
Gustavo González

"QuePacha" wrote in message
news:
Hola, gracias por responder.

la "ñ" y las vocales acentuadas están dentro de los 255 caracteres del
código ASCII. Es evidente que en español se van a usar. Yo creo que el
Unicode es más bien si vas a trabajar con diferentes lenguajes. Por lo
tanto, con los campos char, varchar y text debería bastar. Y la prueba
es que desde el SSMS se guardan bien esos caracteres especiales.

Si, parece lógico suponer que el problema puede venir de las páginas
ASP (no ASP.NET en mi caso). Realmente al leer esos datos desde la
base de datos, los representa bien, pero creo que me dará problemas,
usando instrucciones como LEN, LEFT, etc. He estado viendo temas como
CHARSET de la página, pero no me queda muy claro qué poner. Si alguien
me lo puede aclarar, se lo agradezco

Saludos


__________ Information from ESET NOD32 Antivirus, version of virus
signature database 4518 (20091017) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com






__________ Information from ESET NOD32 Antivirus, version of virus signature database 4518 (20091017) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
Respuesta Responder a este mensaje
#4 QuePacha
18/10/2009 - 10:31 | Informe spam
Efectivamente,

yo tenía la línea:
<meta http-equiv="Content-Type" content="text/html;
he puesto la otra:
<meta http-equiv="content-type" content="text/html;

y... ¡FUNCIONA!

ya se guardan en la tabla las "ñ" como "ñ" y el resto de vocales
acentuadas como tales.

¡Muchas gracias!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida