2014-03-26 31 views
2

来自绑定的JSON文本的字符,土耳其语字母显示为错误的编码,例如。 &Ouml;zlem G&uuml;zelharcan它看起来像“özlemgüzelharcan”。我在头上添加了<meta characters="utf-8">仍然没有解决方案,并且laravel blade视图没有问题。使用angular-js渲染unicode-utf-8土耳其字符

如果必要的话,这是我怎么获得和使用数据:

观点:

<div class="comment" ng-hide="loading" ng-repeat="comment in comments"> 
Comment #{{ comment.id }} </h3> <p>{{comment.title}}</p> 
{{comment.author_id}}/{{comment.author.name}} 

服务:

 // public/js/services/commentService.js 
    angular.module('commentService', []) 

     .factory('Comment', function($http) { 

      var data = { 
       // get all the comments 
       get : function() { 
        return $http.get('/api/comments/'); 
       } 
      } 
      console.log(data); 
      return data; 
     }); 

//controller (shortly) 
.controller('mainController', function($scope, $http, Comment) { 
     // object to hold all the data for the new comment form 
     $scope.commentData = {}; 

     // loading variable to show the spinning loading icon 
     $scope.loading = true; 

     // get all the comments first and bind it to the $scope.comments object 
     // use the function we created in our service 
     // GET ALL COMMENTS ==================================================== 
     Comment.get() 
      .success(function(data) { 
       $scope.comments = data; 
       $scope.loading = false; 
      }); 

    }); 

使用哪种方法来清洁AngularJS字符? 感谢

回答

2

最后,尝试很多事情之后,我发现,你必须使用ng-bind-htmlng-bind-html-unsafe(与ngSanitize),以获得正确的编码。以下是我的看法:

Comment #<span ng-bind-template="{{comment.id}}"></span> </h3> 
     <span ng-bind-html="comment.title "></span> 
     <p><div ng-bind-html="comment.content | truncate:25"></div></p>