2013-02-22 4 views
0

В моем ASP.NET MVC 3 проекта, я поставил кодировку в моей главной страницеJavascript и кодировка символов

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

тогда, на мой взгляд, у меня есть

<script type="text/javascript" charset='UTF-8'> 
     $(function() { 
      $('#my-btn').click(function() { 
        $(this).val('@MyProject.Resources.OrderButton'); 
      }); 
     }); 
    </script> 

что дает me значение Zam&#243;w на основе Zamów. Первая строка файла ресурса:

<?xml version="1.0" encoding="utf-8"?> 

Любые идеи, как исправить это?

ответ

2

Правильный способ передать побочные значения сервера для яваскрипта переменных заключается в следующем:

var value = @Html.Raw(Json.Encode(MyProject.Resources.OrderButton); 
$(this).val(value); 

Это будет выводить код, который является полностью безопасным и правильно закодировано быть передано в яваскрипте функции. Это также будет правильно обрабатывать случаи, когда ваша строка содержит символы, такие как ', новые строки, ... которые нарушили бы ваш код javascript.

И вас не должно волновать, являются ли некоторые символы HTML или каким-либо кодированным. Важно то, что они будут правильно закодированы для правильного использования браузером или совместимым с HTML клиентом.

+0

Вы правы, как всегда, спасибо :) – Tony

+0

Не знаю почему, но ReSharper intellisense скулит о 'синтаксической ошибке' при написании без ''. –

Смежные вопросы