2013-10-23 21 views
1

下面的代碼顯示爲一個問號代替程度符號:度的unicode表示作爲問號

var airF = Math.round(Number(MDTMOBILE.RWISWeather[i].AirTemp)) + "\u00B0" + "F"; 
$('.tempTable').find('td').eq(4).text(airF); 
var relHum = Math.round(MDTMOBILE.RWISWeather[i].RH) + "%"; 
$('.tempTable').find('td').eq(5).text(relHum); 
var dewF = Math.round(Number(MDTMOBILE.RWISWeather[i].Dewpoint)) + "\u00B0" + "F"; 
$('.tempTable').find('td').eq(6).text(dewF); 

它顯示爲: 溫度RH露水 54F 38%29F

我使用錯誤的Unicode嗎? 「\ u00B0」

+3

什麼是您的網頁字符集? –

+0

頁面的字符集= Wac

+0

原來我的腳本minify過程刪除了\ u00B0,並用度符號替換,更改了min腳本,它工作正常。感謝您的建議。 – Wac

回答

1

符號"\u00B0"是在字符文字中使用度符號的正確方法。但是,您也可以直接編寫該字符,"°",前提是已正確選擇並正確聲明字符編碼。

如果您在網頁上看到「 」,最常見的原因是HTML文檔的字符編碼是windows-1252(或iso-8859-1),但聲明的編碼是utf-8。但是,在這種情況下,不應出現這樣的問題,因爲字符串是在JavaScript中生成的,並且JavaScript和DOM在內部使用UTF-16處理字符數據,而不管文檔的編碼是什麼。爲了分析出了什麼問題,我認爲我們需要一個可以重現問題的自包含演示,以及/或演示的URL。

2

我懷疑你的頁面不是unicode,但即使這樣你可以使用.html('°')來代替 - 我相信它應該可以工作。