Mas*_*ask 45 codepages asp-classic
<%@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" />
Run Code Online (Sandbox Code Playgroud)
上面的代码是对的吗?
Joe*_*oey 49
是.
UTF-8是Windows中的CP65001(这只是在遗留代码页内容中指定UTF-8的一种方式).据我所知,ASP可以在指定方式时处理UTF-8.
您的代码是正确的,虽然我更喜欢在代码中设置CharSet而不是使用元标记: -
<% Response.CharSet = "UTF-8" %>
Run Code Online (Sandbox Code Playgroud)
代码页65001确实引用了UTF-8字符集.如果它们包含标准ASCII字符集之外的任何字符,则需要确保将asp页面(和任何包含)保存为UTF-8.
通过在<%@块中指定CODEPAGE属性,您指示使用Response.Write写入的任何内容都应编码到指定的代码页,在本例中为65001(utf-8).值得注意的是,这不会影响任何静态内容,这些内容逐字节地发送到响应中.因此,需要使用指定的代码页实际保存文件的原因.
响应的CharSet属性设置Content-Type标头的CharSet值.这对我编码内容的方式没有影响,它只是告诉客户端正在接收什么编码.同样重要的是,他的值与发送的实际编码相匹配.