Ваш код правильный, хотя я предпочитаю устанавливать CharSet в коде, а не использовать метатег: -
<% Response.CharSet = "UTF-8" %>
Кодовая страница 65001 относится к набору символов UTF-8. Вы должны быть уверены, что ваша страница asp (и любые включенные) сохранены как UTF-8, если они содержат какие-либо символы вне стандартного набора символов ASCII.
Указывая атрибут CODEPAGE в блоке <% @, вы указываете, что все, что написано с использованием Response.Write, должно быть закодировано в указанную кодовую страницу, в данном случае 65001 (utf-8). Следует иметь в виду, что это не влияет на статическое содержимое, которое передается в байтах дословно в ответ. Следовательно, причина, по которой файл должен быть фактически сохранен с использованием указанной кодовой страницы. </p>
Свойство CharSet ответа устанавливает значение CharSet заголовка Content-Type. Это не влияет на то, как контент может быть закодирован, он просто сообщает клиенту, какая кодировка принимается. Опять же, важно, чтобы его значение соответствовало фактической отправленной кодировке.