2016-01-08 32 views
0

我對象的默認值在JavaScript文件字符編碼在JavaScript文件

var default = { 
    Title : "Actualités", 
    Channel : "French" 
} 

我加載從這裏默認值,但是當我檢查控制檯中值,標題的值是包含未知字符代替"é"。它顯示

+1

在瀏覽器中?或節點?要麼...? (它很重要,你看。) –

+0

該文件保存在什麼編碼?它是否與任何不正確的HTTP頭一起提供? – deceze

+0

在瀏覽器中。我得到這個值,並分配一個文本框的值 –

回答

2

如果您正在討論Web瀏覽器,瀏覽器用來解釋文件的字符集由服務器隨文件發送的Content-Type標題決定。 (script也有一個charset屬性,但如果服務器說不同的話,服務器將獲勝,最好確保服務器發送正確的信息。)

因此,文件必須寫入存儲使用字符集服務器會告訴它正在使用的瀏覽器。將文件存儲爲Windows-1252或ISO-8859-1是一個相當常見的錯誤,但服務器會發送它爲UTF-8,這會導致您提出的問題。

確保文件的編碼和服務器報告的編碼匹配,並且字符不會混亂。

強制性鏈接到文章的SO創始人之一,喬爾斯波斯基:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

+1

@Maurize:哦,我不在乎代表。 (幾年前,我曾經這麼做過,但我克服了這個問題)。無論如何,我可能已經在這一天成功了。我真的很喜歡幫助別人。 –

+1

[有人真的低估了這個答案,因爲它完全回答了一個問題......!](http://i3.kym-cdn.com/photos/images/facebook/000/126/314/3cd8a33a.png) – deceze

+0

I不要低估你的答案。我只是覺得有些問題不需要高級答案 - 上面的評論應該足夠了。 – Maurize

0

您可以在JS文件中使用é\ xE9的編碼字符。這應該工作,不管JS文件的編碼。 (如果這是你想要解決的唯一角色)。試試下面的代碼,它應該解決您的proble

var default = { 
    Title : "Actualit\xE9s", 
    Channel : "French" 
} 
-1

請在HTML文檔的head元素添加以下meta標籤:

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

上面的代碼將迫使瀏覽器加載內容爲Unicode。

+0

此外,如果您只創建了JavaScript文件,然後在包含相同js文件的html文檔中添加相同的代碼 –

+1

HTML文檔的編碼對外部Javascript的處理方式沒有影響。 – deceze