我试图在ASP中实现RC4注释,但我在chr()函数中发现了一个奇怪的行为。
但问题与RC4脚本无关,而是与我无法解决的问题有关。
更不用说我已完成的所有测试,我可以用一种非常简单的形式解决问题:
我只是写了
Qux
分为2页,比方说L2.asp和L3.asp
第L2.asp页显示<%=chr(146)%>
因此html '
页面L3.asp显示’
显然两个页面都在同一台服务器上(Windows Server 2012 R2) 看来页面L3.asp无法识别扩展ASCII表。
我尝试在顶部添加�
以及许多其他解决方案,但没有任何变化..
虽然脚本非常简单(但是使用rc4例程测试了更长的脚本),如果我在L3.asp中复制L2.asp的内容或反之,页面的行为保持不变,因此,L2.asp contiunes在L3显示<% Response.Charset="ISO-8859-1"%>
时显示'
,更改页面名称不会改变行为。
确实知道什么可以造成这种奇怪的行为?
非常感谢任何提示
答案 0 :(得分:4)
它与Chr
功能无关。
�
是UTF8-BOM,对于UTF-8文件是可选的。
首先尝试在没有BOM的情况下以UTF-8保存ASP文件。您可以使用Notepad ++等高级编辑器。
按照步骤操作:Open "file.asp" > Encoding > Convert to UTF-8
然后File > Save
。
Response.Charset
只是将字符集的名称附加到Content-Type响应头,并且在服务器端不执行任何操作。
相反,您必须指定Response.CodePage = 1252
。