我最近更改了所有xsl文件的定义以使用UTF-8:
<xsl:output method="html" encoding="UTF-8"/>
另外,我已经将一些配置系统编码的基础设施代码更改为:
Session.CodePage = 65001
Response.CharSet = "UTF-8"
Response.ContentType = "text/html; charset=UTF-8"
以前是希伯来语语言设置的:
Session.CodePage = 1255
Response.CharSet = "windows-1255"
Response.ContentType = "text/html; charset=windows-1255"
现在,大多数输出HTML都可以正常渲染,但是系统的一部分却没有。 在一个表单中发送的希伯来语文本在fiddler中看起来没问题,然后以二进制方式读取它:
Request.BinaryRead(Request.Totalbytes)
它看起来像这样:
%D7%9E%D7%95%D7%A2%D7%9E%D7%93%3A+%D7%94%D7%93%D7%A1+%D7%A0%D7%A2%D7%99%D7%9D+%D7%9C%D7%9E%D7%A9%D7%A8%
然后这行代码(字段的值来自迭代请求表单:
URLDecode(Field(1))
使最终输出变为这样:
1D9D9DAD9D: 3D9D9D ADADAD9D 9D9D9DADAD: 3D9D9DAD/2D ADAD9D9DAD 9D9D9DAD9D 9D9D9D9D9D9DAD9D 9D9D9D9D9D ADADAD9D9D9D - AD9D9D9DAD
而不是有效的希伯来语,当我检查Response.Charset时,它是UTF-8
。
我很感激这个问题的任何提示。