Javascript 使用离子框架的编码问题
在我的应用程序中,我构建了一个json并将其发布到服务器Javascript 使用离子框架的编码问题,javascript,ios,node.js,ionic-framework,ionic-view,Javascript,Ios,Node.js,Ionic Framework,Ionic View,在我的应用程序中,我构建了一个json并将其发布到服务器 (....) json = {"userID": idUser, "name":$scope.data.name, "type":AppService.getType().value, "race":$scope.data.race.name, "age":$scope.data.age} (....) $http.post(apiEndPoint+'/myapp/save', js
(....)
json = {"userID": idUser, "name":$scope.data.name,
"type":AppService.getType().value, "race":$scope.data.race.name, "age":$scope.data.age}
(....)
$http.post(apiEndPoint+'/myapp/save', json)
当race.name具有特殊字符时,我遇到问题。一切都是UTF-8。
该值是由服务器发送的,我知道它是正常的,因为它正确地显示在UI上。
当爱奥尼亚应用程序发回它时,它会弄乱编码
例如,当用户在界面上选择“testxxÃxx”时,服务器得到如下结果:
[userID:4, age:2342, name:Test, type:TEST, race:testxx??xx]
需要明确的是,“testxxÃxx”正确地显示在UI上(在选择器上)。
起初我认为这可能是一个离子视图限制,但事实并非如此。这也可以通过iOS模拟器实现
我感谢你的帮助 您是否已将HTTP POST请求的标头设置为UTF-8
.config(["$httpProvider",
function(httpProvider) {
httpProvider.defaults.cache = false;
httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
return httpProvider['defaults']['transformRequest'] = function(
data) {
if (data == null) {
return data;
}
return $.param(data);
};
} ])
好主意。我试过:$httpProvider.defaults.headers.post['Content-Type']='application/json;字符集=utf-8';但它不起作用。同样的问题。