HTML-кодирование строки, вставленной из Word - PullRequest
0 голосов
/ 10 июня 2009

См. http://pilot.whatpub.org/Guide/002000/Pub002687.htm и посмотрите на источник.

Текст в описании («Восстановлен в 2005 ...») был вставлен из документа Word в System.Web.UI.WebControls.TextBox, а затем сохранен в базе данных как Unicode.

В нем явно есть не-ASCII-символы, которые IE странно интерпретирует.

Теперь я могу передать строку через System.Web.HttpUtility.HtmlEncode, и она преобразует электронный острый символ в "cafe" в HTML-константу. То же самое происходит с символом "£" (в этом примере его нет), поэтому они выглядят хорошо.

Однако HtmlEncode ничего не делает с необычным символом кавычки перед «вином», поэтому он все равно отображается в виде этой странной последовательности.

Есть ли какая-нибудь другая функция кодирования, которая может помочь?

Приветствия, Роб.

Ответы [ 2 ]

3 голосов
/ 10 июня 2009

Страница обслуживается правильно в UTF-8, но кодировка кодировки не указана. Добавить

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

до , и все будет в порядке.

Кстати, в заголовке http также отсутствует определение кодировки:

$ HEAD http://pilot.whatpub.org/Guide/002000/Pub002687.htm
[...]
Content-Type: text/html
[...]
$

Измените его на

Content-Type: text/html; charset=UTF-8

и все получится.

1 голос
/ 10 июня 2009

Я не уверен, какой частью приложения вы управляете.

Попробуйте установить кодировку в Content-Type на что-нибудь, чтобы браузер правильно отображал их символы.

Content-Type: text / html; кодировка = ISO-8859-1

(Кстати, страница корректно отображается в Firefox.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...