2011-11-18 68 views
3

我在Classic ASP中的FormatNumber函數有問題。經典asp格式編號顯示特殊字符(Â)作爲千分隔符

當該過載使用 FormatNumber(cdbl(aRecs(3,i))的,0,0,0),號碼出現精細例如160 703

然而,當該過載使用 FormatNumber(aRecs(3,i)中,0,FALSE,FALSE,TRUE), 「0」),數量出現一個特殊字符作爲千個分隔符例如1607 703

N/B:aRecs(3,i)是指從記錄集(從數據庫中)檢索的值。

在生產服務器(Windows Server 2008)一切工作正常,但是,當我設置開發環境(Windows 7以及Windows服務器2008年),那是我得到這個問題。我曾嘗試在我的區域設置中設置一個千位分隔符,但無濟於事

我是否錯過了一些東西。此外,這是一個非常古老的項目,我不能去修改所有對此功能的調用。

+1

這可能是一個編碼的問題 - 什麼chatacter編碼是您的網頁上使用? Windows的1251? UTF-8? –

+0

是的,顯然是因爲編碼,我已經應用了下面的修復,我猜這是因爲編碼沒有明確設置,MAYBE會默認爲服務器編碼。我沒有在IIS服務器上找到任何可以設置編碼的位置,而不是下面提出的修復。 – sawe

回答

3

這行代碼添加到你的頁面的頂部: -

Response.CharSet = "UTF-8" 

這個問題通常是響應代碼頁之間不匹配的結果(在你的情況我猜65001)和內容類型頭中的CharSet值。通常不會傳送CharSet值,因此瀏覽器會猜測,通常使用當前用戶區域設置來確定代碼頁。

+0

thanx安東尼,不幸的是我不能投你的答案,因爲我沒有足夠的聲譽......你的迴應是現貨,解決了我的煩惱。我已將此行添加到網站中所有頁面上的文件中,因此它現在適用於我網站中的所有頁面。 – sawe

0

使用你的頁面的頂部這兩條線來糾正這種情況:

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

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