1

テキストに ® (著作権) および ™ (商標) 記号を含む HTML ファイルがあります。これらは、他の多くのシンボルの 2 つにすぎません。HTMLファイルをリテラルコントロールに読み込むと、シンボルが別のものに変換されます。

著作権記号は � に変換されます (ff でボックスを開く) 商標記号は ™ に変換されます (予想通り)

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

Contents は<asp:Literal runat="server" ID="Contents"></asp:Literal>、aspx ページの唯一のコントロールです。

いくつかの調査から、これはエンコーディングに関連していると思いますが、修正方法が変わる理由はわかりません。

html ファイルには、head セクションに Content-Type 設定が含まれていません。

4

1 に答える 1

0

この処理を Render メソッドに移すことができる場合は、HttpResponse.WriteFile を使用して、Literal コントロールよりもこれらの文字を適切に処理できるかどうかを確認できます。このファイルのコンテンツをコントロールに割り当ててからレンダリングする以外に何もしていない場合は、これで問題ありません。

于 2009-01-13T06:31:00.703 に答える