经典 asp chr() 函数问题
classic asp chr() function issue
我试图在 ASP 中实现 RC4 加密,但我发现 chr() 函数有一个奇怪的行为。
但问题与 RC4 脚本无关,而是与我无法解决的问题有关。
更不用说我已经完成的所有测试,我可以用非常简单的形式重现这个问题:
我简单写了
<%=chr(146)%>
在 2 页中,假设 L2.asp 和 L3.asp
第 L2.asp 页显示 '
因此 html ’
第 L3.asp 页显示 �
显然两个页面都在同一台服务器上(Windows Server 2012 R2)但是
页面 L3.asp 似乎无法识别扩展 ASCII Table.
我尝试在上面添加 <% Response.Charset="ISO-8859-1"%>
.. 和许多其他解决方案,但没有任何变化..
虽然脚本非常简单(但也用 rc4 例程测试了更长的脚本),如果我将 L2.asp 的内容复制到 L3.asp 中,反之亦然,页面的行为保持不变,因此,L2.asp 继续显示 '
而 L3 显示 �
,更改页面名称不会改变行为。
知道是什么导致了这种奇怪的行为吗?
非常感谢任何提示
这与 Chr
功能无关。
�
是 UTF8-BOM,对于 UTF-8 文件是可选的。
首先尝试将 ASP 文件保存为不带 BOM 的 UTF-8 格式。您可以使用像 Notepad++ 这样的高级编辑器。
按照以下步骤操作:Open "file.asp" > Encoding > Convert to UTF-8
然后 File > Save
。
Response.Charset
只是将字符集的名称附加到 Content-Type 响应 header 上,对 server-side 什么也不做。
相反,您必须指定 Response.CodePage = 1252
.
我试图在 ASP 中实现 RC4 加密,但我发现 chr() 函数有一个奇怪的行为。
但问题与 RC4 脚本无关,而是与我无法解决的问题有关。
更不用说我已经完成的所有测试,我可以用非常简单的形式重现这个问题:
我简单写了
<%=chr(146)%>
在 2 页中,假设 L2.asp 和 L3.asp
第 L2.asp 页显示 '
因此 html ’
第 L3.asp 页显示 �
显然两个页面都在同一台服务器上(Windows Server 2012 R2)但是 页面 L3.asp 似乎无法识别扩展 ASCII Table.
我尝试在上面添加 <% Response.Charset="ISO-8859-1"%>
.. 和许多其他解决方案,但没有任何变化..
虽然脚本非常简单(但也用 rc4 例程测试了更长的脚本),如果我将 L2.asp 的内容复制到 L3.asp 中,反之亦然,页面的行为保持不变,因此,L2.asp 继续显示 '
而 L3 显示 �
,更改页面名称不会改变行为。
知道是什么导致了这种奇怪的行为吗?
非常感谢任何提示
这与 Chr
功能无关。 �
是 UTF8-BOM,对于 UTF-8 文件是可选的。
首先尝试将 ASP 文件保存为不带 BOM 的 UTF-8 格式。您可以使用像 Notepad++ 这样的高级编辑器。
按照以下步骤操作:Open "file.asp" > Encoding > Convert to UTF-8
然后 File > Save
。
Response.Charset
只是将字符集的名称附加到 Content-Type 响应 header 上,对 server-side 什么也不做。
相反,您必须指定 Response.CodePage = 1252
.