我有2个jsons:
cn.json:
{
"id_contactus": "联系我们"
}
和另一个: en.json:
{
"id_contactus": "Contact Us"
}
我有angular-js选择一个json文件来读取,具体取决于用户输入:
HomeControllers.controller('HomeLanCtrl', function($scope, $http) {
$http.get($lan.concat(".json")).success(function(data) {
$scope.text = data;
});
});
最终,我的HTML看起来像:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body ng-controller="HomeLanCtrl">
<li class="header_list_end"><a href="contactus.html">{{text.id_contactus}}</a></li>
</body>
如果我使用en,这意味着加载en.json,网页显示正确;但是,如果我选择加载cn.json的cn,那么网页会显示
��ϵ����
而不是正确的字符。问题是,在html中如果我不使用javascript但直接使用中文字符:
<li class="header_list_end"><a href="contactus.html">联系我们</a></li>
这会有用......
对于为什么它不起作用的任何评论都非常感谢!!!!
答案 0 :(得分:1)
我会说你的问题来自你的json文件编码。您使用什么编辑器来创建文件?你能确定它是用UTF8编码的吗?
关于数据绑定和编码已经存在讨论,但我不是Angular的专家,所以我不知道它是否相关。 Use ng-bind-html。它绝对不可用,因为你没有像他们那样使用绑定,但是可能有一种方法可以让你的绑定理解HTML结构而不是纯文本。