Javascript 如何在AngularJS脚本中使用孟加拉语?
我有一个使用Angular的应用程序。我正在加载一个JSON文件,用不同的语言在页面上显示数据。到目前为止,这适用于所有其他语言,但当变量值是孟加拉语时,我会遇到一个错误。错误是“SyntaxError:JSON中位置38处的意外标记” 我已经确保服务器响应是UTF-8格式的。如果我使用裸JavaScript(也就是没有库或框架),JSON对象可以毫无问题地解析 app.jsJavascript 如何在AngularJS脚本中使用孟加拉语?,javascript,angularjs,json,angularjs-directive,Javascript,Angularjs,Json,Angularjs Directive,我有一个使用Angular的应用程序。我正在加载一个JSON文件,用不同的语言在页面上显示数据。到目前为止,这适用于所有其他语言,但当变量值是孟加拉语时,我会遇到一个错误。错误是“SyntaxError:JSON中位置38处的意外标记” 我已经确保服务器响应是UTF-8格式的。如果我使用裸JavaScript(也就是没有库或框架),JSON对象可以毫无问题地解析 app.js var App = angular.module('myApp', []); App.controller('myCt
var App = angular.module('myApp', []);
App.controller('myCtrl', function($scope, $http) {
$scope.setLang = function(language) {
document.getElementById("rootElement").lang = language;
$http.get('_customizable/languages/' + language + '.js', {header: {"Content-Type":"application/json; charset:utf-8"}})
.then(function(res){
$scope.translated = res.data;
}
);
}
$scope.setLang(document.getElementById("rootElement").lang);
});
{
"Applications":"অ্যাপ্লিকেশন",
"AccountSettings": "অ্যাকাউন্ট সেটিংস",
"AuthorizationManager": "অনুমোদন ম্যানেজার ",
"DCCMaintenance": "ডিসিসি রক্ষণাবেক্ষণ",
"MastercardClearing": "মাস্টারকার্ড ক্লিয়ারিং",
"ParticipantManager": "অংশগ্রহণকারীর ম্যানেজার",
"PropertiesManager": "বৈশিষ্ট্যাবলী ম্যানেজার",
"VisaClearing": "ভিসা ক্লিয়ারিং",
"WorkflowManager": "কর্মপ্রবাহ ম্যানেজার",
"Users": "ব্যবহারকারী",
"Groups": "দল",
"RecordsSearch": "রেকর্ডস অনুসন্ধান",
"UserName": "ব্যবহারকারীর নাম",
"Search": "খোঁজো",
"Reset": "রিসেট",
"UserRecords": "ব্যবহারকারীর রেকর্ডস",
"Delete": "মুছে ফেলুন",
"AllRightsReserved": "সমস্ত অধিকার সংরক্ষিত."
}
bn.js
var App = angular.module('myApp', []);
App.controller('myCtrl', function($scope, $http) {
$scope.setLang = function(language) {
document.getElementById("rootElement").lang = language;
$http.get('_customizable/languages/' + language + '.js', {header: {"Content-Type":"application/json; charset:utf-8"}})
.then(function(res){
$scope.translated = res.data;
}
);
}
$scope.setLang(document.getElementById("rootElement").lang);
});
{
"Applications":"অ্যাপ্লিকেশন",
"AccountSettings": "অ্যাকাউন্ট সেটিংস",
"AuthorizationManager": "অনুমোদন ম্যানেজার ",
"DCCMaintenance": "ডিসিসি রক্ষণাবেক্ষণ",
"MastercardClearing": "মাস্টারকার্ড ক্লিয়ারিং",
"ParticipantManager": "অংশগ্রহণকারীর ম্যানেজার",
"PropertiesManager": "বৈশিষ্ট্যাবলী ম্যানেজার",
"VisaClearing": "ভিসা ক্লিয়ারিং",
"WorkflowManager": "কর্মপ্রবাহ ম্যানেজার",
"Users": "ব্যবহারকারী",
"Groups": "দল",
"RecordsSearch": "রেকর্ডস অনুসন্ধান",
"UserName": "ব্যবহারকারীর নাম",
"Search": "খোঁজো",
"Reset": "রিসেট",
"UserRecords": "ব্যবহারকারীর রেকর্ডস",
"Delete": "মুছে ফেলুন",
"AllRightsReserved": "সমস্ত অধিকার সংরক্ষিত."
}
注意:这甚至会在几个在线JSON编辑器上返回一个错误,例如,因此……需要获取原始文件,而不是粘贴在此处的文件(协同工作的好处),但问题已被发现 第一个奇怪的线索是,将此处发布的版本复制到json验证站点是可行的 因此,当我将原始文件与在十六进制编辑器中发布的文件进行比较时,我们发现了差异。当文件的原始英文版本被放入Google Translate以转换为孟加拉语时,每行前面的3个前导空格从0x20 0x20 0x20更改为0xC2 0xA0 0xC2 0xA0 0x20
所以……故事的寓意是,不要翻译文件中的所有内容,只翻译需要翻译的较小部分。因此……需要掌握原始文件,而不是粘贴在此处的文件(合作的好处),但问题已经发现 第一个奇怪的线索是,将此处发布的版本复制到json验证站点是可行的 因此,当我将原始文件与在十六进制编辑器中发布的文件进行比较时,我们发现了差异。当文件的原始英文版本被放入Google Translate以转换为孟加拉语时,每行前面的3个前导空格从0x20 0x20 0x20更改为0xC2 0xA0 0xC2 0xA0 0x20
所以……故事的寓意是,不要翻译文件中的所有内容,只翻译需要翻译的较小部分。我将内容复制粘贴到您提供的JSON验证程序URL中,它对我有效。也许用十六进制编辑器打开JSON,检查是否没有发现任何可疑的东西。是否包含孟加拉国语言的规则集(+)也许这会有所帮助。另外,如何将JSON加载到应用程序中?使用
$http
?使用$http.get提供一些代码片段maybeYes。早上到办公室时,我会编辑这个问题以包含更多代码。当时我认为它与此无关。@jakub.g,请根据要求查看其他代码。我将它复制粘贴到您提供的JSON验证程序URL中,它对我有效。也许用十六进制编辑器打开JSON,检查是否没有发现任何可疑的东西。是否包含孟加拉国语言的规则集(+)也许这会有所帮助。另外,如何将JSON加载到应用程序中?使用$http
?使用$http.get提供一些代码片段maybeYes。早上到办公室时,我会编辑这个问题以包含更多代码。当时我不认为这有什么关系。@jakub.g,请根据要求查看其他代码。