In asp, how to set boolean values to english?

2019-08-05 05:21发布

问题:

When I run this:

    <%
    www = false
    response.write www
    response.write "UPDATE table SET domain='"&www&"' WHERE id=n"
    %>

I get this:

    false
    UPDATE table SET domain='Falso' WHERE id=n

Notice the 'Falso' word that is in Portuguese instead of English.

Is it possible to change the boolean values to English?

I have a Windows 2008 / IIS 7 in pt-BR.

回答1:

This question was asked just recently here

I don't have a good machine to test the following code, which came from a working solution. It forces the locality you need (of course you can change the locality to what you need it to be, if 1033 is not your goal)

<%
Response.Write FormatDateTime(Now) & "<br />"
oldLocale = SetLocale(1033) '1033=English(US)
Response.Write FormatDateTime(Now) & "<br />"
SetLocale oldLocale 
Response.Write FormatDateTime(Now) & "<br />"
%>


回答2:

Just use string instead:

www = "false"

Then it won't be affected by regional settings.

If you want to keep working with actual boolean values, use Parameters instead of raw SQL.



回答3:

I'll not be able to provide any more testing for this 'issue' anymore.

That's because I've made a decision to format my windows and install a new one now in english.. I did this because I'm running out of time, I need to put this server working as soon as possible..

But I want to thank everyone who contributed on finding the resolution for this problem =)

If anyone is having the same issue, please leave your comment, so the others can provide more options to try to solve this.



回答4:

If you dont mind changing the code, you could use a function to print the boolean value. For me thats not an option, but i'm starting to believe its the only way.

Function PB(pVal)
  If pVal Then
    PB = "true"
  Else
    PB = "false"
  End If
End Function

Response.Write "UPDATE table SET domain='"&PD(www)&"' WHERE id=n"