Problemas con los acentos.
En un formulario tengo un RichTextBox que utilizo como procesador de textos. El texto que escriba ha se der el cuerpo de un correo. La mécanica que utilizo, para no perder formatos (color del exto, negritas, tablas de excel, etc...) es guardar el contenido en un formato de texto enriquecido (.doc), cuando quiero crear el mensaje, lo que hago es convertir el .doc en .html, luego leo el fichero en una variable string y se lo paso como body al correo. Todo funciona bien, excepto los acentos, es decir, las letras acentuadas desaparecen. He probado el replace
Body = Replace(Body, "á", "á")
Body = Replace(Body, "é", "é")
Body = Replace(Body, "í", "í")
Body = Replace(Body, "ó", "ó")
Body = Replace(Body, "ú", "ú")
pero el problema es que el Body original no trae las letras acentuadas.
Claro al ver el correo las palabras con letras acentuadas están imcompletas.
Te paso el código:
Dim wordApp As New Word.Application
Dim doc As New Word.Document
Dim oWordApplic As New Word.ApplicationClass
doc = oWordApplic.Documents.Open("C:\Fichero.doc")
Dim filename As Object = "C:\Fichero.doc"
Dim Format As Object = Word.WdSaveFormat.wdFormatHTML
doc.SaveAs("C:\Fichero.html", Format)
doc.Close()
oWordApplic.Application.Quit()
Dim sr As New System.IO.StreamReader("C:\Fichero.html")
Body = sr.ReadToEnd()
sr.Close()
Body = Replace(Body, "á", "á")
Body = Replace(Body, "é", "é")
Body = Replace(Body, "í", "í")
Body = Replace(Body, "ó", "ó")
Body = Replace(Body, "ú", "ú")
Despues de esto, el Body no tiene las letras acentuadas.
Body = Replace(Body, "á", "á")
Body = Replace(Body, "é", "é")
Body = Replace(Body, "í", "í")
Body = Replace(Body, "ó", "ó")
Body = Replace(Body, "ú", "ú")
pero el problema es que el Body original no trae las letras acentuadas.
Claro al ver el correo las palabras con letras acentuadas están imcompletas.
Te paso el código:
Dim wordApp As New Word.Application
Dim doc As New Word.Document
Dim oWordApplic As New Word.ApplicationClass
doc = oWordApplic.Documents.Open("C:\Fichero.doc")
Dim filename As Object = "C:\Fichero.doc"
Dim Format As Object = Word.WdSaveFormat.wdFormatHTML
doc.SaveAs("C:\Fichero.html", Format)
doc.Close()
oWordApplic.Application.Quit()
Dim sr As New System.IO.StreamReader("C:\Fichero.html")
Body = sr.ReadToEnd()
sr.Close()
Body = Replace(Body, "á", "á")
Body = Replace(Body, "é", "é")
Body = Replace(Body, "í", "í")
Body = Replace(Body, "ó", "ó")
Body = Replace(Body, "ú", "ú")
Despues de esto, el Body no tiene las letras acentuadas.
1 Respuesta
Respuesta de mrtool