0

我有两个网页,/default.asp 和 /mobile/default.asp。

两个页面都有以下声明:

meta http-equiv="Content-Type" content="text/html;charset=utf-8"

此外,两个页面都使用相同的包含文件,该文件提供对某些字符串加密和解密功能的访问。

我遇到的问题是,当使用相同的密钥对相同的字符串进行加密时,使用相同字符集编码和相同加密函数的两个页面会给出两个不同的字符串。

有任何想法吗?不正确的输出包含许多带有问号的黑色菱形。在 HEX 中,这些显示为 FD FF。

附加 - 加密数据存储在 SQL 数据库中,这就是我看到两种不同加密结果的方式。

因此,它具有相同的加密功能,输出位于同一个 SQL 数据库中,但来自两个不同的 asp 页面(但它们使用相同的字符集)。

4

2 回答 2

1

您可以将服务器端代码页设置为 UTF-8 如下:

<%@ Language="VBSCRIPT" CODEPAGE="65001"%>

或者

<% 
Response.CodePage = "utf-8"
%>

保持输出与代码页相同是很常见的。输出是您使用元标记设置的内容,也可以设置如下:

<% 
Response.Charset = "utf-8"
%>
于 2012-09-19T08:33:29.210 回答
0

经过大约 8 小时的反复试验,我设法找到了问题所在。

ASP 页面本身已创建并保存为 UTF-8 编码,它需要是没有 BOM 的 UTF-8

于 2012-09-19T19:03:24.067 回答