我想在IE的标题栏(和标签)中添加unicode字符。
如何使用C#实现此目的?
答案 0 :(得分:3)
Page.Title = "//someunicode//"
不起作用
设置Page.Title对我来说很好,假设您正在使用支持Unicode的响应编码,例如默认的UTF-8。
您要设置的字符是什么?请记住,页面标题是使用操作系统的窗口标题栏字体呈现的,而不是为页面HTML内容设置的字体,因此您可以使用较小的字符范围,而不是页面内容。如果选择用于标题栏的字体中不存在的字符,则可能会出现正方形。
(其他OS渲染元素可能会出现同样的情况,例如某些浏览器中的选择菜单。)
答案 1 :(得分:1)
标准方法是对unicode字符串进行编码,如下所示:
Page.Title = System.Web.HttpUtility.HtmlEncode("<some unicode />");
然而,HTML的<title>
标签在作为输入时非常严格。例如,你不能在其中添加任何HTML。
HtmlEncode使用的标准编码器在编码方面也存在明显的局限性,因此您的里程可能会有所不同。
答案 2 :(得分:0)
你对“unicode characters”的意思是什么?
如果我有一个带有html的UTF-8文件,我可以将其放入其中并正确显示:
<title>HTML test. TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚N̐Y̡ </title>
答案 3 :(得分:0)
假设您正在使用ASP.Net,您可以将网站上所有页面的响应编码设置为web.config中的UTF-8,如下所示:
<configuration>
<system.web>
<globalization
responseEncoding="utf-8"
/>
</system.web>
</configuration>
完成此操作后,将任何有效的Unicode字符串分配给Page.Title应该会产生预期的结果。您当然也可以使用其他Unicode编码,但最常见的是UTF-8。