Как поставить Unicode в заголовок браузера - PullRequest
1 голос
/ 12 октября 2011

Я хотел бы поместить символы юникода в строку заголовка IE (и вкладки).

Как мне добиться этого с помощью C #?

Ответы [ 4 ]

3 голосов
/ 12 октября 2011

Page.Title = "//someunicode//" не работает

Настройка Page.Title отлично работает для меня, если вы используете кодировку ответа с поддержкой Unicode, такую ​​как UTF-8 по умолчанию.

Какие символы вы пытаетесь установить точно? Помните, что заголовок страницы отображается с использованием шрифта строки заголовка окна операционной системы, а не шрифтов, настроенных для содержимого HTML страницы, поэтому для заголовка может быть меньший диапазон символов, чем для содержимого страницы. Если вы выберете символы, которых нет в шрифте, используемом для строк заголовка, вы можете получить квадраты.

(То же самое может произойти для других элементов, отображаемых операционной системой, например, для некоторых меню в некоторых браузерах.)

1 голос
/ 12 октября 2011

Стандартным способом было бы закодировать вашу строку в юникоде следующим образом:

Page.Title = System.Web.HttpUtility.HtmlEncode("<some unicode />");

Однако теги <title> HTML довольно жесткие в том, что они принимают в качестве входных данных.Например, вы не можете добавить в них больше HTML.

Существуют также ограничения в том, что стандартный кодировщик, используемый HtmlEncode, способен кодировать, поэтому ваш пробег может варьироваться.

0 голосов
/ 12 октября 2011

Предполагая, что вы используете ASP.Net, вы можете установить кодировку ответа всех страниц вашего сайта в UTF-8 в web.config следующим образом:

<configuration>
  <system.web>
    <globalization
      responseEncoding="utf-8"
    />
  </system.web>
</configuration>

Как только вы это сделалиназначение любой допустимой строки Unicode для Page.Title должно привести к ожидаемому результату.Конечно, вы также можете использовать другие кодировки Unicode, но наиболее распространенным является UTF-8.

0 голосов
/ 12 октября 2011

Что вы подразумеваете под "символами Юникода"?

Если у меня есть файл UTF-8 с html, я могу поместить его в него, и он будет отображаться правильно:

<title>HTML test. TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉ ͠P̯͍̭O̚​N̐Y̡ </title>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...