Является ли кодовая страница 65001 и 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" />

- Это выше правильный код?

4 ответов


да.

UTF-8-это CP65001 в Windows (это просто способ указать UTF-8 в устаревшем материале кодовой страницы). Насколько я читал, ASP может обрабатывать UTF-8, Когда указано таким образом.


ваш код верен, хотя я предпочитаю устанавливать кодировку в коде, а не использовать мета-тег: -

<% Response.CharSet = "UTF-8" %>

кодовая страница 65001 ссылается на набор символов UTF-8. Вам нужно будет убедиться, что ваша страница asp (и любые включает) сохраняются как UTF-8, если они содержат какие-либо символы вне стандартного набора символов ASCII.

указав атрибут кодовой страницы в блоке

свойство CharSet ответа задает значение CharSet заголовка Content-Type. Это не влияет на то, как контент мой кодируется, он просто сообщает клиенту, какая кодировка полученный. Опять же важно, чтобы его значение соответствовало фактической отправленной кодировке.


да, 65001-это идентификатор кодовой страницы Windows для UTF-8, как задокументировано на сайте Microsoft. Википедия говорит что IBM code page 128 и SAP code page 4110 также являются индикаторами UTF-8.


response.codepage = 65001

Кажется, дают плохой результат, когда физический файл сохраняется как utf-8

в противном случае, он работает как предполагается.