2017-01-13 24 views
3

我使用角度爲1.6.1的這個簡單的角度應用程序。將Javascript轉換爲中文字符

的index.html

<!DOCTYPE html> 
<html ng-app="App"> 

<head> 
    <title>Test</title> 

    <script src="bower_components/angular/angular.js"></script> 
    <script src="app/app.js"></script> 
</head> 

<body> 
    <div> 
     <home></home> 
    </div> 
</body> 
</html> 

app.js

(function() { 

    'use strict'; 

    var app = angular.module('App', []); 

    app.component('home', { 
      template: '<h1>{{$ctrl.head}}</h1><ul><li>1</li><li>2</li></ul>', 
      controller: function() { 
       var vm = this; 

       this.head = "ONE"; 
      } 
     }); 
})(); 

這將加載行和IE11 corretly顯示,但未能在鉻加載(55.0.2883.87β(64位)或FF(51.0b13(32位),我絕對不知道爲什麼......)

當我點擊chrom開發工具中Sources選項卡中的app.js時,源代碼是像字符一樣的奇怪的chineese,但通過Notepa查看源代碼d ++,一切看起來都OK ......?!?!

這裏是devconsole對鉻

enter image description here

我可以看到同樣的問題,每一個JS文件,我添加到index.html的截圖。 我沒有改變任何語言環境設置或瀏覽器中的其他任何東西...我的電腦...

我不知道爲什麼會發生這種情況。任何人看到這樣的事情?

+0

我以後會試用其他電腦,我不太確定發生了什麼...... – vidriduch

+1

哇,我將這個問題重命名爲「Javascript正在轉換爲中文字符」 –

+1

您可能正在保存'app。 js'文件以不同的區域設置/編碼。確保您以UTF格式保存文件。 –

回答

1

的所有文件都在命令行中鍵入

echo "" >> app.js 

創建,這已編碼UCS-2 LE BOM爲顯示在記事本+ +,而對於一些不明原因,Chrome和Firefox無法正確讀取文件...

enter image description here

所以轉換文件,在記事本UTF-8-BOM ++(菜單 - >編碼 - >轉換爲UTF-8 BOM)的文件讀取罰款和所有的工作...

我會爲什麼老IE設法讀取站點OK仍有興趣,但更現代的瀏覽器失敗...

0

我有完全相同的問題。在我的情況下,主要的HTML頁面是在本地主機,它調用外部.js文件不受我控制。問題出現在Chrome和Firefox的現代版本中(但不在Internet Explorer中)。我發現HTML頁面是在Unicode中意外創建的,而不是UTF8或ANSI。我用notepad.exe將它保存爲ANSI(因爲它只是英文版本)並且解決了這個問題。

+0

你應該在UTF-8上保存你在網上使用的所有文件。現在這是一種標準。 – HoBi