Acentos en ficheros sql

15/09/2008 - 16:38 por Alhambra Eidos Kiquenet | Informe spam
Hola,

tengo un fichero sql como recurso embebido en un proyecto de instalación.
Leo este fichero y ejecuto el SQL, pero en el Sql Server aparecen caracteres
extraños:

mal: Nueva Aplicaci?n

ok: Nueva Aplicación

En mi fichero SQL todos los caracteres se ven bien , el formato del fichero
es ANSI,; al ejecutarlo en Sql Server el valor se ve con el caracter mal.

Alguna sugerencia ?? Gracias de antemano.


' Gets the current assembly.

Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()

' Resources are named using a fully qualified name.

Dim strm As Stream = Asm.GetManifestResourceStream( _

Asm.GetName().Name & "." & Name)

' Reads the contents of the embedded file.

Dim reader As StreamReader = New StreamReader(strm)

Dim sql As String = reader.ReadToEnd()

'MsgBox(Asm.GetName().Name & "." & Name & " Total: " & sql.Length)

Return sql

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft
 

Leer las respuestas

#1 Alberto Poblacion
15/09/2008 - 17:15 | Informe spam
Sospecho que el problema no está en el envío de la sentencia al Sql Server,
sino en la lectura del archivo de recursos. El Stream que abres te da los
caracteres en binario, tal como fueron copiados al fichero (en ANSI), pero
al asignarlos a la variable "sql" de tipo String, se tienen que convertir en
Unicode (que es el formato de los strings en memoria). El StreamReader los
convierte con su conversión predeterminada, que si no me equivoco es UTF-8
(en lugar de ANSI), por lo que no salen los caracteres correctos.

Yo probaría a indicar expresamente la conversión al abrir el StreamReader:

Dim reader As StreamReader = New StreamReader(strm,
System.Text.Encoding.GetEncoding(1252))

Mira a ver si así funciona. En caso contrario, examina la variable "sql" a
ver si te llegan correctamente los caracteres, o si ya se han perdido al
llegar a ese punto (con el fin de centrar el problema y ver en cuál de las
dos partes se produce).


"Alhambra Eidos Kiquenet"
wrote in message news:
Hola,

tengo un fichero sql como recurso embebido en un proyecto de instalación.
Leo este fichero y ejecuto el SQL, pero en el Sql Server aparecen
caracteres
extraños:

mal: Nueva Aplicaci?n

ok: Nueva Aplicación

En mi fichero SQL todos los caracteres se ven bien , el formato del
fichero
es ANSI,; al ejecutarlo en Sql Server el valor se ve con el caracter mal.

Alguna sugerencia ?? Gracias de antemano.


' Gets the current assembly.

Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()

' Resources are named using a fully qualified name.

Dim strm As Stream = Asm.GetManifestResourceStream( _

Asm.GetName().Name & "." & Name)

' Reads the contents of the embedded file.

Dim reader As StreamReader = New StreamReader(strm)

Dim sql As String = reader.ReadToEnd()

'MsgBox(Asm.GetName().Name & "." & Name & " Total: " & sql.Length)

Return sql

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft

Preguntas similares