Hola a todos! Estoy realizando un formulario en ASP, en el cual los
datos insertados en los input, textarea, checkbox y radio buttons,
son enviados a una plantilla de word.
El problema es que cuando abro la plantilla en word donde escribí la
información del formulario, no me reconoce los acentos y las eñes.
Yo Estoy usando Visual Estudio .Net 2002 y Microsoft Office XP. La
plantilla la tengo en formato .doc, pero ya he probado también en
formato .rtf y .xml.
Ya revise mi configuración en el web.config y he probado con:
<globalization requestEncoding="iso-8859-1"
responseEncoding="iso-8859-1"
fileEncoding="iso-8859-1" /> y con
<globalization requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8" />
También he agregado en el <HEAD> ... </HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
y
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
Pero sigue sin reconocerme los acentos y eñes, lo que me escribe
en el archivo son:
à¡ é à ó ຠà±,
á é í ó ú ñ,
á é í ó ú ñ, ;
Mi codigo es el siguiente:
Private Sub Btn1_ServerClick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn1.ServerClick
Dim strFilePath = Server.MapPath("tmp/") & "Plantilla.doc"
Dim fs2 As New FileStream(strFilePath, FileMode.Open, FileAccess.Read)
Dim d As New StreamReader(fs2)
Dim swrtarget As String
d.BaseStream.Seek(0, SeekOrigin.Begin)
swrtarget = d.ReadToEnd
d.Close()
Dim mystream As New MemoryStream()
Dim writer As New StreamWriter(mystream)
Dim nomFile As String
nomFile = "Temporary.doc"
writer.AutoFlush = True
swrtarget = swrtarget.Replace("##nombre##",
Server.HtmlEncode(TextBox01.Value))
swrtarget = swrtarget.Replace("##cargo##",
Server.HtmlEncode(TextBox02.Value))
swrtarget = swrtarget.Replace("##fecha##",
Server.HtmlEncode(TextBox03.Value))
swrtarget = swrtarget.Replace("##institucion##",
Server.HtmlEncode(TextArea01.Value.ToString))
writer.Write(swrtarget)
Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename="
& nomFile)
Response.AppendHeader("Content-Length", mystream.Length.ToString)
Response.ContentType = "application/octet-stream"
Response.BinaryWrite(mystream.ToArray())
Response.End()
End Sub
Por favor, AYUDENME!!! Me urge saber como poder solucionar este problema.
Muchas gracias!
Leer las respuestas