我有UTF-8頭頁:的JavaScript編碼問題與重音字符
<meta charset="utf-8" />
,並在頁面我用一把umbraco字典來獲取各種語言的內容。 當我打印這個德國在頁面上看起來罰款:
<h1>@library.GetDictionaryItem("A")</h1>
解析爲:
在德國
<h1>Ä</h1>
但是如果我通過腳本輸入:
<script type="text/javascript" charset="utf-8">
var a = "@library.GetDictionaryItem("A")";
alert(a);
</script>
提醒打印:
ä
如果我做
<script type="text/javascript" charset="utf-8">
var a = "Ä";
alert(a);
</script>
警報打印:
Ä
那麼,什麼可以解釋這種行爲,我怎麼能解決的警報? 據我所見,一切都是UTF-8,字典和頁面編碼都很好。問題發生在Javascript中。
從我在這裏的表中可以看到,Javascript將字符解析爲它的數字值。我用「escape,encodeUrl,decodeUrl」等沒有運氣。
chr HexCode Numeric HTML entity escape(chr) encodeURI(chr)
ä \xE4 ä ä %E4 %C3%A4
」JavaScript將字符解析爲其數值「 - 否。字符引用將由您的服務器端代碼生成。它以HTML格式輸出時看起來不錯,因爲字符引用在HTML中有特殊含義(但不在JavaScript中)。 – Quentin
好吧,那麼如何才能讓警報像我輸入一樣? – Nick
這是(大概)一個umbraco字典問題,我從來沒有聽說過。 – Quentin