簡體   English   中英

JavaScript編碼和解碼錯誤

[英]JavaScript Encoding & Decoding Error

我在使用Javascript編碼和解碼時遇到問題。 我有一個json對象,其中包含以UTF-8編碼的字符串,例如'R\\xc3\\xa9union' 為了確保Javascript文件正確顯示字符串,我將一個屬性charset添加到script標簽。 JSON對象是countries.js 我包括countries.js如<script src="js/countries.js" charset="UTF-8"></script>但它仍然被顯示為Ré工會代替團聚 有什么建議嗎?

結合使用escape()decodeURIComponent()

decodeURIComponent(escape('R\xc3\xa9union'));

這應該夠了吧:

escape('R\xc3\xa9union');           // "R%C3%A9union"
decodeURIComponent("R%C3%A9union"); // "Réunion"

現在,您說您無法在需要JSON字符串的所有地方手動執行此操作。 我真的不知道一種無需使用JS重新構建JSON就可以自動執行此操作的方法,因此建議您編寫一個“包裝器”函數以進行實時解碼:

function dc(str){
    return decodeURIComponent(escape(str));
}

然后,您可以輕松解碼所需的字符串:

var myString = dc(myJson["some"]["value"]);

現在,還有什么可以工作,但更多的是有點冒險: JSON.stringify()整個對象,解碼,使用2個功能,然后JSON.parse()一遍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM