Asp classic 经典asp FormatNumber显示一个特殊字符(Â;)作为千位分隔符

Asp classic 经典asp FormatNumber显示一个特殊字符(Â;)作为千位分隔符,asp-classic,Asp Classic,我对经典ASP中的FormatNumber函数有问题 当使用此重载时 格式编号(cdbl(aRecs(3,i)),0,0,0),数字显示良好,例如160 703 但是,当使用此重载时 FormatNumber(aRecs(3,i),0,false,false,true),“0”)该数字显示时带有一个特殊字符作为千位分隔符,例如160 703 注意:aRecs(3,i)指从记录集(从数据库)检索的值 在生产服务器上(Windows server 2008)一切正常,但是,当我设置开发环境(Wind

我对经典ASP中的FormatNumber函数有问题

当使用此重载时 格式编号(cdbl(aRecs(3,i)),0,0,0),数字显示良好,例如160 703

但是,当使用此重载时 FormatNumber(aRecs(3,i),0,false,false,true),“0”)该数字显示时带有一个特殊字符作为千位分隔符,例如160 703

注意:aRecs(3,i)指从记录集(从数据库)检索的值

在生产服务器上(Windows server 2008)一切正常,但是,当我设置开发环境(Windows 7和Windows server 2008)时,我遇到了这个问题。我试过在我的区域设置中设置1000个分隔符,但没有效果


我错过了什么吗。此外,这是一个非常旧的项目,我无法修改此函数调用的所有事件。

将这行代码添加到页面顶部:-

 Response.CharSet = "UTF-8"

这个问题通常是由于响应代码页(在您的例子中,我猜是65001)和内容类型头中的字符集值不匹配造成的。通常不会传递字符集值,因此浏览器会猜测,通常使用当前用户区域设置来确定代码页。

使用页面顶部的这两行来纠正这种情况:

<%@ Language=VBScript codepage="65001"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


这可能是一个编码问题-您在页面上使用的是什么chatacter编码?windows-1251?UTF-8?是的,显然是因为编码,我已经应用了下面的修复程序,我猜行为是因为编码没有明确设置,可能默认为服务器编码。我在IIS服务器上找不到任何可以设置编码的地方,除了下面建议的修复程序。thanx Anthony,很遗憾,我无法投票支持你的答案,因为我没有足够的声誉。。。你的回答恰到好处,解决了我的问题。我已经将这一行添加到一个文件中,该文件包含在网站的所有页面上,因此它现在适用于我网站的所有页面。