我有一個非常奇怪的問題,在網頁上顯示不正確(或根本不顯示)英鎊符號。字符編碼問題 - 英鎊符號的奇怪行爲(UTF-8)IE6/ASP/XML
我在文本框中鍵入文本,然後在顯示在新的IE(6)窗口中之前獲取(簡要地)存儲在XML中。
最糟糕的是這是不一致的。我有三種不同的事情發生:
1.磅符號甚至沒有出現在源代碼中(假設XML正在剝離它,因爲它似乎默認使用UTF-8)。
2.磅符號出現在源代碼中,但不在網頁上。
3.英鎊符號出現在網頁上的源和精細(通常,如果發生這種情況,首次顯示)。
現在,這只是更大問題的一個特定部分。我一直在研究這個問題並做了一些研究,看來如果我使用純ASCII(ISO 8859-1 - Western Europe)並轉換爲UTF-8,它不知道符號是什麼,並將其完全移除(在這種情況下,tho我已經看到它被替換爲'?',一個盒子或其他地方的'?')。
如果您輸入英鎊符號作爲UTF-8並轉換回ISO 8859-1,它會在英鎊符號前獲得大寫字母(Â)。
我可以理解後者,至少在基本層面上 - 這是因爲我們的系統必須在整個字符編碼中保存有不同的字符編碼(或存儲在Oracle中)的磅符號,並且由於我們沒有指定字符編碼(至少一般)爲我們的網頁,有時IE會感到困惑,並且不能正確顯示內容。
我不明白的是上面列出的不一致的結果。
我意識到自己在最初的解釋中有點模糊,但我希望寫出我的簡短解釋可能有助於我自己理清思路,並可能幫助其他人瞭解將來的類似問題。編輯:另外,我意識到我可以交換HTML實體的所有英鎊符號(&英鎊;),但我覺得這是費時和雜亂的(如果它存儲在Oracle中,稍後傳遞給PDF ,Excel等?)。
很明顯,任何指針和建議將不勝感激!
謝謝!
服務器平臺是否有? – AnthonyWJones 2009-09-03 10:09:24
感謝安東尼:Windows 2003服務器 – FrostbiteXIII 2009-09-03 10:20:34