<%@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是Windows中的CP65001(这只是在遗留代码页内容中指定UTF-8的一种方式)。据我所知,ASP可以在指定的时候处理UTF-8。

其他提示

您的代码是正确的,虽然我更喜欢在代码中设置CharSet而不是使用元标记: -

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

代码页65001确实引用了UTF-8字符集。如果它们包含标准ASCII字符集之外的任何字符,您需要确保您的asp页面(和任何包含)保存为UTF-8。

通过在<!> lt;%@块中指定CODEPAGE属性,您指示使用Response.Write写入的任何内容都应编码到指定的代码页,在本例中为65001(utf-8)。值得注意的是,这不会影响任何静态内容,这些内容逐字节地发送到响应中。因此,需要使用指定的代码页实际保存文件的原因。

响应的CharSet属性设置Content-Type标头的CharSet值。这对我编码内容的方式没有影响,它只是告诉客户端正在接收什么编码。同样重要的是,他的值与发送的实际编码相匹配。

是,65001是UTF-8的Windows代码页标识符,如文档维基百科建议 IBM代码页128和SAP代码页4110也是UTF-8的指标。

response.codepage = 65001
当物理文件保存为utf-8

时,

似乎会产生错误结果

否则,它按预期工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top