Encoding possível problema de leitura de arquivos HTM utilizando .Net StreamReader

votos
1

Eu tenho um arquivo HTML com uma ® (copyright) e o símbolo ™ (marca) no texto. Estes são apenas dois entre muitos outros símbolos. Quando eu li o arquivo html em um controle literal ele converte os símbolos para outra coisa.

O símbolo de copyright converte para (caixa aberta no ff) O símbolo de marca registrada converte para ™ (como esperado)

If (System.IO.File.Exists(FullName)) Then
   Dim StreamReader1 As New System.IO.StreamReader(FullName)
   Contents.Text = StreamReader1.ReadToEnd()
   StreamReader1.Close()
End If

Conteúdo é uma <asp:Literal runat=server ID=Contents></asp:Literal>e é o único controle na página aspx.

De alguma pesquisa eu acho que isto está relacionado com a codificação, mas eu não sei por que ele iria mudar como corrigi-lo.

O arquivo HTML não contém quaisquer definições Content-Type na seção de cabeça.

Publicado 13/01/2009 em 02:56
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Se for de todo possível para mudar este processamento para o método de processamento, você poderia usar HttpResponse.WriteFile para ver se ele lida com esses personagens melhor do que o controle Literal faz. Se você estiver fazendo nada com o conteúdo deste arquivo diferente de atribuí-la ao controle e, em seguida, deixá-lo render, então você deve ser capaz de fazer isso OK.

Respondeu 13/01/2009 em 07:31
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more