今天遇到一個情形,所寫的某隻 Javascript 在某些版本的 IE 會沒有辦法正常執行。
結果發現在 javascript 內有用中文做為訊息呈現,比如
var message;
this.messages = "中文"
比如這隻 Javascript 為 xxx.js,只有下述加到 head tag 的方式,在 Firefox 下測試都沒問題,但在 IE 下就會有問題了
<head>
<script src="js/xxx.js" type="text/javascript"></script>
</head>
重點在於 charset 的指定,若沒像下面指定的話,有些 IE 就會處理上有問題。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="js/xxx.js" type="text/javascript"></script>
</head>
這和 IE/Firefox 對於有些沒指定語系的網頁會產生亂碼的原因是一樣的,但相較之下 Firefox 在於 charset detect 好像做得比較好。
PS. 當然,以這個例子,若 Web Server 方面,比如 php.ini 內設定 default charset 為 utf8 的話,也不會有問題。
Orignal From: Javascript && HTML