这个问题很久以前就被问过服务器故障 https://serverfault.com/questions/274964/iis-7-5-using-classic-asp-converts-a-boolean-value-to-a-string-in-the-local-lang但没有可用的遮阳篷。我希望有人遇到过它并从那时起找到解决方案。
Example:
<%
Response.Write True
Response.Write "<hr>"
Response.Write "test:" & True
%>
Output:
True
--------------
test:Waar
正如您所看到的,一旦您组合输出,它就会变成本地字符串(“Waar”在荷兰语中是 true 的意思)。我需要它保持“真实”。
我怎样才能改变这个?我不介意在页面开头放置一些代码,但我无法更改所有实例True
在整个代码中。因此,创建如下所示的函数来返回正确的字符串是行不通的。
Function PB(pVal)
If pVal Then
PB = "true"
Else
PB = "false"
End If
End Function
奇怪的是,无论设置哪个区域设置,我都无法让 IIS 以本地语言输出布尔值。
你找到这个了吗知识库文章 http://support.microsoft.com/kb/306044已经?
有一个注册表设置的描述可以做到这一点:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLEAUT
我不想弄乱我的生产服务器,所以我还没有尝试这个。
第一个答案:
您可以“欺骗”VB 使用您自己的函数。如果您将这些函数添加到页面顶部,在本例中,VB 会优先选择这些函数而不是内置函数CStr
and Trim
。也许这有帮助。
Function PB(pVal)
If pVal Then
PB = "true"
Else
PB = "false"
End If
End Function
Function CStr(pVal)
CStr = PB(pVal)
End Function
Function Trim(pVal)
Trim = PB(pVal)
End Function
Output:
True
--------------
test:true
--------------
test:true
--------------
test:true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)