В чем проблема, точно? Вы установили @ Codepage = 65001 в директивах страницы в верхней части вашего файла? Вы пометили тип содержимого правильной кодировкой, чтобы клиент знал, что он получает?
Если вы видите вопросительные знаки, возможно, вы неправильно установили кодовую страницу ответа. Если вы видите два несвязанных символа вместо одного символа с диакритическим знаком, вы не сказали клиенту, что ему нужно знать для обработки страницы как UTF-8, например,
Response.CodePage = 65001 ;
Response.CharSet = "utf-8" ;
Есть небольшие различия между asp.net и asp-обработкой кодирования, поэтому было бы также полезно, если бы вы более точно указывали, какую технологию вы используете, но это должно помочь вам в этом.
В ASP.Net вы можете установить кодировку для всего сайта в файле web.config, чтобы избежать путаницы с Response.CodePage и Request.CodePage на каждой странице. Вы по-прежнему хотите пометить кодировку Response с помощью элемента meta-содержимого типа http-эквивалента в своем HTML-файле или с помощью Response.Charset.
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8" />
Если по какой-то причине вы не хотите использовать web.config, вы должны использовать <% @ CodePage = 65001%> в своем файле .aspx перед выводом текста в директивах страницы.
Похоже, что рассматриваемая страница содержит неправильно закодированный UTF-8. Содержимое идет прямо из файла .aspx или оно извлекается из базы данных или что-то в этом роде?