Ответ 1
Да.
UTF-8 - это CP65001 в Windows (это всего лишь способ указать UTF-8 в устаревшем кодексе). Насколько я читаю ASP, можно обрабатывать UTF-8, когда указывается таким образом.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Правильно ли указан этот код?
Да.
UTF-8 - это CP65001 в Windows (это всего лишь способ указать UTF-8 в устаревшем кодексе). Насколько я читаю ASP, можно обрабатывать UTF-8, когда указывается таким образом.
Ваш код верен, хотя я предпочитаю устанавливать CharSet в коде вместо использования метатега: -
<% Response.CharSet = "UTF-8" %>
Кодовая страница 65001 относится к набору символов UTF-8. Вам нужно будет убедиться, что ваша страница asp (и все включено) сохранена как UTF-8, если они содержат любые символы вне стандартного набора символов ASCII.
Указывая атрибут CODEPAGE в блоке <% @, вы указываете, что все, что написано с использованием Response.Write, должно быть закодировано в указанную Codepage, в данном случае 65001 (utf-8). Стоит иметь в виду, что это не влияет на какое-либо статическое содержимое, которое отправляется дословно для байта для ответа. Следовательно, причина, по которой файл действительно сохраняется, с использованием указанной кодовой страницы.
Свойство CharSet ответа задает значение CharSet заголовка Content-Type. Это не влияет на то, как кодировать контент, который он кодирует, он просто сообщает клиенту, какая кодировка будет получена. Опять же важно, чтобы его значение соответствовало отправленной фактической кодировке.
Да, 65001 - это идентификатор кодовой страницы Windows для UTF-8, как описано на веб-сайте Microsoft. Википедия предлагает, что кодовая страница IBM 128 и кодовая страница 4110 SAP также являются индикаторами для UTF-8.
response.codepage = 65001
кажется, дает плохой результат, когда физический файл сохраняется как utf-8
В противном случае он работает так, как предполагается.