2012-07-31 23 views
1

我正在嘗試使用HTML5在我的網頁上顯示一些中文字符。(HTML5)使用UTF-8時無法顯示中文字符

var canvas = document.getElementById('canvas'); 
var context = canvas.getContext('2d'); 

// ... 

context.fillText('中文', 0, 0); 

context.fill(); 

我在這裏檢查了幾個問題,並在標題中添加了以下內容。

<meta charset="UTF-8" /> 

我試過在Firefox 14中,它在屏幕上顯示????。雖然我意識到,我的字符編碼的瀏覽器設置是UTF-8。當我將它改爲'Big5`時,它顯示的很好。

我的問題是,該腳本是否允許瀏覽器正確顯示中文(也可能是所有其他非英文)字符而不更改爲特定的字符編碼?即保持設置爲UTF-8,然後沒有任何處理用戶的瀏覽器,因爲我希望我的頁面顯示多種語言。

謝謝。

+0

是使用UTF-8或者BIG5編碼的HTML5文件? – 2012-07-31 10:38:58

+4

確保*所有*都以UTF-8編碼,尤其是源代碼。 – deceze 2012-07-31 10:39:45

回答

3

您似乎已將您的源代碼保存在Big5中。您應該

  • 你的源代碼保存爲UTF-8,或者用於非ASCII字符
  • 使用Unicode轉義碼。

如果你喜歡使用轉義碼,你的例子可以寫成:

context.fillText('\u4e2d\u6587', 0, 0); 
+0

它也可以保持Big5編碼並正確地聲明該編碼(根據服務器設置,一個'meta'標記可能足夠或不足以滿足要求)。但是Big5並不涵蓋所有的語言,而UTF-8的確如此。 – 2012-07-31 14:13:44