如何将Unicode放入浏览器标题中

时间:2011-10-12 04:43:50

标签: c# .net unicode

我想在IE的标题栏(和标签)中添加unicode字符。

如何使用C#实现此目的?

4 个答案:

答案 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。