Вывод из C # на веб-страницу HTML - UTF8 не удается? - PullRequest
0 голосов
/ 17 апреля 2011

Эй, поэтому у нас есть бэкэнд, написанный на C #, и у нас есть текст в этом бэкэнде на языке, который имеет «специальные символы».

Проблема в том, что когда я вывожу сохраненный текст (из приложения C #) на веб-страницу (ASP.NET), все символы перепутаны, даже если браузер интерпретирует страницу как UTF (поскольку я поместил метатег, говорящий браузер, что это UTF8).

Но так как все испорчено, я как бы задаюсь вопросом, что такое вывод из C #. Это, вероятно, не UTF8, но что-то еще. Где-то я читал, что текст в .NET обычно UTF-16?

По сути, я назначаю метку (которая может делать HTML) со значением, взятым из серверной части. Это должно быть в UTF8.

Как мне сделать это наилучшим образом?

Ответы [ 3 ]

4 голосов
/ 17 апреля 2011

. NET строки изначально кодируются как UTF-16.Следующее установит вывод HTTP в UTF-8:

Response.ContentEncoding = System.Text.Encoding.UTF8;
0 голосов
/ 17 апреля 2011

При выводе специальных символов в HTML вы должны в любом случае экранировать их, используя escape-последовательности Unicode (например, é делает é).

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