2010-07-22 184 views
5

我通常是一個LAMP開發人員,但一些.NET工作已到達我的盤子,我有點難住。從ASP.NET字符串中消失的英鎊符號(英鎊)

如果我運行下面的代碼:顯示

<% poundsign = "£" %> 
<% Response.Write poundsign %> 
<% Response.Write "£" %> 

...什麼都沒有。但是,在< %%>標籤之外(即在HTML中)顯示正確。

我沒有麻煩顯示通常的字母數字,它只是英鎊證明有問題。底層文件採用Windows 1252編碼,我需要像這樣來提供它。如果我把文件保存爲UTF-8,我得到的是mojibake而不是£。

有沒有人知道我能做些什麼來完成這項工作,或任何可能阻止它工作的設置(除了以不同的格式保存文件)?提前致謝。

編輯:對不起,我應該早些提到,但&磅;將無濟於事。除了我的頁面沒有出現,我的問題的一個主要部分是我需要將包含£的字符串插入到SQL服務器數據庫中,但是如果我在ASP中形成SQL INSERT語句,則無的英鎊符號最終出現在數據庫中。當我將.asp文件保存爲UTF-8文件時,從ASP插入數據庫並不是問題,但我需要一切工作在Windows 1252編碼中。再次感謝。

+0

你沒有在後面的代碼中處理它的任何原因? – 2010-07-22 17:58:30

+0

@Sonny Boy,爲什麼會改變行爲? – jball 2010-07-22 18:00:10

回答

2

感謝您的幫助,每個人。事實證明,這個問題是由我的Windows-1252 ASP文件加載UTF-8包含引起的,從而搞亂了結果頁面的編碼。

5

使用ASCII碼&pound;

這是一個HTML實體,需要通過代碼來進行訪問,閱讀更多here

+0

感謝您的回答 - 唉HTML實體不會幫助我,原因現在我原來的帖子中解釋。對不起,首先不清楚! – 2010-07-22 21:25:51

+0

不確定,£是Windows 1252編碼字符集的一部分,請參閱http://en.wikipedia.org/wiki/Windows-1252 – 2010-07-22 21:46:01

3

使用以下:

<% Response.Write("&pound;") %> 
1

這個怎麼樣?

<% poundsign = Chr(163) %> 
<% Response.Write poundsign %> 
<% Response.Write "£" %> 
+0

奇怪的是,chr(163)顯示爲「s」。 – 2010-07-23 10:01:39