Hola a todos! Estoy realizando un formulario en ASP, en el cual los datos insertados en los textbox, 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;
charset=ISO-8859-1>
y
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=UTF-8>
Pero sigue sin reconocerme los acentos y eñes, lo que me escribe en el archivo son:
á é Ã* ó ú ñ,
&#225; &#233; &#237; &#243; &#250; &#241, á é í ó ú ñ, ;
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!