2017-10-05 46 views
0

在我的JavaScript文件存在與它的十進制代碼貨幣符號的映射,如下:JavaScript文件的內容獲得編碼在前端

var currency_symbols = { 
    'EUR':{ 
     'symbol':'€', // Euro 
     'isPrefix':true 
    }, 
    'CRC':{ 
     'symbol':'₡', // Costa Rican Colón 
     'isPrefix':true 
    }, 
    'GBP':{ 
     'symbol':'₤', // British Pound Sterling 
     'isPrefix':true 
    }, 
    'ILS':{ 
     'symbol':'₪', // Israeli New Sheqel 
     'isPrefix':true 
    }, 
    'INR':{ 
     'symbol':'₹', // Indian Rupee 
     'isPrefix':true 
    }, 
    'KRW':{ 
     'symbol':'₩', // South Korean Won 
     'isPrefix':true 
    }, 
    'NGN':{ 
     'symbol':'₦', // Nigerian Naira 
     'isPrefix':true 
    }, 
    'PHP':{ 
     'symbol':'₱', // Philippine Peso 
     'isPrefix':true 
    }, 
    'PYG':{ 
     'symbol':'₲', // Paraguayan Guarani 
     'isPrefix':true 
    }, 
    'UAH':{ 
     'symbol':'₴', // Ukrainian Hryvnia 
     'isPrefix':true 
    }, 
    'VND':{ 
     'symbol':'₫', // Vietnamese Dong 
     'isPrefix':true 
    } 
}; 

其中我將使用在不同的格式來顯示貨幣。當我加載我的Web應用程序時,JavaScript文件得到非常正確的加載並呈現完美。 但是當我加載在IFRAME代碼符號十進制值正在成爲我的應用程序如下:

'EUR':{ 
     'symbol':'€', // Euro 
     'isPrefix':true 
    }, 
    'CRC':{ 
     'symbol':'₡', // Costa Rican Colón 
     'isPrefix':true 
    }, 
    'GBP':{ 
     'symbol':'£', // British Pound Sterling 
     'isPrefix':true 
    }, 
    'ILS':{ 
     'symbol':'₪', // Israeli New Sheqel 
     'isPrefix':true 
    }, 
    'INR':{ 
     'symbol':'₹', // Indian Rupee 
     'isPrefix':true 
    }, 
    'JPY':{ 
     'symbol':'Â¥', // Japanese Yen 
     'isPrefix':true 
    }, 
    'KRW':{ 
     'symbol':'â‚©', // South Korean Won 
     'isPrefix':true 
    }, 
    'NGN':{ 
     'symbol':'₦', // Nigerian Naira 
     'isPrefix':true 
    }, 
    'PHP':{ 
     'symbol':'₱', // Philippine Peso 
     'isPrefix':true 
    }, 
    'PLN':{ 
     'symbol':'zł', // Polish Zloty 
     'isPrefix':true 
    }, 
    'PYG':{ 
     'symbol':'₲', // Paraguayan Guarani 
     'isPrefix':true 
    }, 
    'THB':{ 
     'symbol':'฿', // Thai Baht 
     'isPrefix':true 
    }, 
    'UAH':{ 
     'symbol':'â‚´', // Ukrainian Hryvnia 
     'isPrefix':true 
    }, 
    'VND':{ 
     'symbol':'â‚«', // Vietnamese Dong 
     'isPrefix':true 
    } 

而且由於這個不能夠正確地呈現貨幣代碼,如何來處理呢?這個問題的根源是什麼?這是預期的行爲嗎?解決此問題的最佳做法是什麼?

非常感謝您的所有建議

+0

使用UTF編碼,並確保字符集具有相同的編碼。 – dfsq

+0

@dfsq我沒有得到它,我正在使用Atom編輯器。你可以從我的解釋中看到,只有當我將應用程序加載到iframe中時,問題纔會發生,其他方面工作正常。問題中突出顯示的部分。 –

+0

代替「符號」:'€''使用'符號':'\ u8364''。 (你的評論也是錯誤的,它們屬於貨幣,而不是符號,我建議你讓它們成爲財產而不是評論。) –

回答

0

如果您定義IFrame內的內容的編碼。

解釋(來源:IFrame Encoding):

的iframe裏面的頁面是完全獨立於「外」 頁面,它可以有你想要的任何字符集。換句話說,每個 頁面都應該指定自己的字符集(並確保它實際上是在該字符集中編碼的 )。

所以你可以在IFrame中定義編碼,就像我猜測的那樣。

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
    </head> 
    <body> 
     Test 
    </body> 
</html> 

這裏是工作示例,內容呈現正常,如果您仍然面臨問題,請使用下面的JSFiddle並共享它。在編輯

JSFiddle Demo