Проблема с HttpUtility.HtmlEncode с другими языковыми символами - PullRequest
2 голосов
/ 29 октября 2011

Я пытался кодировать специальные символы HTML, такие как ', ", <,> и т. Д., С помощью HttpUtility.HtmlEncode. Но я заметил, что это также кодирует французские символы, такие как (é), в é, и теперь é отображается как есть.на моей странице HTML. Я не хочу этого, я просто хочу кодировать ', ", <,> и несколько других символов.

Ответы [ 2 ]

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

Должны ли эти персонажи выглядеть по-другому? Почему это проблема, если они заменены? Это по замыслу. Вы можете посмотреть на этот вопрос, чтобы увидеть более подробное обсуждение. Если ваши пользователи не могут правильно видеть текст, который вы отображаете, вы не должны связываться с этим по соображениям безопасности / совместимости.

HtmlUtility, кажется, кодирует несколько классов символов, среди которых набор символов ISO-8859-1 Если вы по-прежнему не хотите, чтобы конкретный символ кодировался, вы вынуждены использовать string.Replace() для этой цели.

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

Различные функции кодирования текста .NET печально известны своей плохой документированностью и странными преобразованиями.В некоторых случаях мне повезло больше с функциями кодирования в Microsoft Anti-XSS library , но я не уверен, сработает ли это в вашем конкретном приложении.

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