我有两个网页,/ default.asp和/mobile/default.asp。
两个页面都有以下声明:
meta http-equiv =“Content-Type”content =“text / html; charset = utf-8”
此外,两个页面都使用相同的包含文件,该文件提供对某些字符串加密和解密功能的访问。
我遇到的问题是,当使用相同的密钥加密相同的字符串时,使用相同字符集编码和相同加密函数的两个页面会给出两个不同的字符串。
有什么想法吗?错误的输出包含许多带有问号的黑色钻石。在HEX中,它们显示为FD FF。
附加 - 加密数据存储在SQL数据库中,这就是我看到两种不同加密结果的方式。
所以,它的加密函数与同一个SQL数据库中的输出相同,但来自两个不同的asp页面(但是它们使用相同的字符集)。
答案 0 :(得分:1)
您可以按如下方式将服务器端代码页设置为UTF-8:
<%@ Language="VBSCRIPT" CODEPAGE="65001"%>
或
<%
Response.CodePage = "utf-8"
%>
保持输出与代码页相同是很常见的。输出是您使用元标记设置的,也可以按如下方式设置:
<%
Response.Charset = "utf-8"
%>
答案 1 :(得分:0)
经过大约8个小时的反复试验,我找到了问题。
ASP页面本身是创建并保存为UTF-8编码的,它需要是UTF-8而不是BOM