2015-08-09 3 views
0

контроллерAngularJS японские символы не отображаются

app.controller('infoController', ['$scope', function($scope) { 

    $scope.companies = [ 
     { 
      name: "日本語", 
      id: '1', 
      state: false 
     }, 
    { 
     name: "blaa", 
     id: '2', 
     state: false 
    } 
    ]; 

    $scope.showHide = function(c) { 
     c.state = !c.state; 
    }; 

}]); 

и это в моем HTML:

<li ng-repeat="company in companies"> <p class="ng-cloak" style="display: inline">{{company.name}}</p> 
    <a class="showLink" ng-click="showHide(company)" href="">もっと情報</a> 

...

однако, company.name отображается как? ??? но любой другой японский текст отображается просто отлично. Можете ли вы рассказать мне, в чем причина и как это исправить? Я включил UTF8 в свой html-файл.

+2

Кажется хорошо для меня http://plnkr.co/edit/g8g86vKcjtevrLXQhlYY?p=preview Я думаю, что ваша машина должна была установить этот шрифт –

+0

oh ok, спасибо! но, например, если пользователь имеет ту же конфигурацию для своей машины, что и моя, и она отображает ее как «???», как я могу ее исправить? , и если моя машина является проблемой, почему все остальное работает нормально? – Muninmuni

+0

@Polly Вам нужно загрузить шрифт через CSS или использовать веб-браузерный японский шрифт. Посмотрите эту тему: http://stackoverflow.com/questions/14563064/japanese-standard-web-fonts –

ответ

0

Попробуйте использовать кодировку UTF-8 для вашего файла javascript.

0

Это не проблема Angular, это проблема с вашей кодировкой! Похоже, ваш файл *.js закодирован в неправильной кодировке. Для этого просто откройте файл с помощью блокнота ++, нажмите вкладку «Кодировка» в верхней части блокнота ++ и нажмите кодировку в UTF-8.

+0

Это не работает, оно все равно дает мне вопросительные знаки – Muninmuni

+0

, поэтому оказалось, что проблема - это IDE, которую я использую, потому что даже при сохранении с помощью блокнота он меняет его после, спасибо вам большое! знак равно – Muninmuni