Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 代码页65001和utf-8是一样的吗?_Asp Classic_Codepages - Fatal编程技术网

Asp classic 代码页65001和utf-8是一样的吗?

Asp classic 代码页65001和utf-8是一样的吗?,asp-classic,codepages,Asp Classic,Codepages,上述代码正确吗?是 UTF-8是Windows中的CP65001(这只是在遗留代码页中指定UTF-8的一种方式)。据我所知,当以这种方式指定时,ASP可以处理UTF-8。是的,65001是UTF-8的Windows代码页标识符,如文档所示。IBM代码页128和SAP代码页4110也是UTF-8的指标。您的代码是正确的,尽管我更喜欢在代码中设置字符集,而不是使用meta标记:- <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#incl

上述代码正确吗?


UTF-8是Windows中的CP65001(这只是在遗留代码页中指定UTF-8的一种方式)。据我所知,当以这种方式指定时,ASP可以处理UTF-8。

是的,65001是UTF-8的Windows代码页标识符,如文档所示。IBM代码页128和SAP代码页4110也是UTF-8的指标。

您的代码是正确的,尽管我更喜欢在代码中设置字符集,而不是使用meta标记:-

<%@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" />

代码页65001确实引用UTF-8字符集。如果asp页面(以及任何包含的内容)包含标准ASCII字符集之外的任何字符,则需要确保将其保存为UTF-8

通过在 当物理文件保存为utf-8时,似乎会产生不好的结果


否则,它将按预期的方式工作。

代码页“遗留”是以什么方式存在的?历史上,文本有一个代码页,它只指定要使用的字符集。这些数字因供应商而异,Windows似乎为此使用了一个16位无符号整数。现在大多数编码和字符集都有名称而不是数字。我认为UTF-8有一个代码页号(它在微软之外没有指定,也没有使用),以确保它仍然与旧的16位整数代码页码系统一起工作。尽管UTF-8一点也不像代码页,但它只是为了与以前和现有系统进行正确的互操作。如今,我猜这种机制会使用名称而不是任意数字,因为编码环境自1980年以来发生了一些变化。Sabuncu,(a)DOS是Windows控制台的一个误称,不要使用它。(b) 将控制台窗口切换到TrueType字体,您将获得Unicode支持,而不会出现任何疯狂的情况。使用chcp设置的任何内容都不会影响文本的输出。此外,这个问题根本不是关于Windows控制台的,而是关于ASP的。@AnthonyWJones-见微软员工的2st评论。虽然我同意代码页将和Windows一样长寿,但它们仍然被命名为legacy。如8.3名称、260个字母路径等。
的主要含义和效果是源文件编码为UTF-8(或指定的任何代码页)。它只级联到
Response.CharSet
属性。您可以将文件另存为UTF-8并放入匹配的代码页声明,然后仍然对
Response.CharSet
使用另一种编码。与65001中的源和1251或1252中的输出类似。-您可能知道,我只是觉得您的文本并不完全清楚,因为您的文本首先暗示它们可能是简单的替代品。@Lumi:我没有发现这样的暗示,我引用“响应的字符集属性设置内容类型标题的字符集值。这对内容的编码方式没有影响”。我似乎很清楚。顺便说一句,CODEPAGE指令的唯一实际效果是设置
响应。CODEPAGE
,开发人员有责任确保使用匹配的代码页保存文件。你说得对。我混淆了
Response.CharSet
Response.CodePage
。将代码页指令级联设置为后者,而不是前者;它与
内容类型
标题完全没有关系。我相信代码页指令最好理解为“源文件编码”。关键表达式是
domXml.createElement(“Französisch”)
。该文件是用UTF-8编码的(所有希腊语、俄语等都必须使用Unicode编码),因此
codepage=65001
非常关键。如何用utf8解决这个问题?今天的链接是
<% Response.CharSet = "UTF-8" %>
response.codepage = 65001