2012-05-19 1 views
0

в моем приложении я загружаю файлы, используя uploadify. все отлично работает с стандартным юникодом a-z 0-9.Загрузить данные скрипта не возвращает символы Unicoded

вот образец.

<script type="text/javascript" charset="utf-8"> 
     $(window).load(
        function() { 
         $('#fileuploaderImage').fileUpload({ 
          uploader: '/Scripts/uploader.swf', 
          script: '@Url.Action("Test", "Test")', 
          scriptData: { ProjectName: @Model.ProjectName }, 
          cancelImg: '/Images/cancel.png', 
          auto: true, 
          multi: false, 
          folder: '/uploads', 
          fileDesc: 'Image', 
          sizeLimit: '200000000', 
          fileExt: '*.png;', 
          'onComplete': function (event, ID, fileObj, response, data) { 
           $("#img-path").val(response); 
          } 
         }); 

        } 
       );  
    </script> 

Так что, я вижу, что передаю свойство ProjectName моему контроллеру с помощью ScriptData, он будет работать. но если ProjectName похож на свойство «MMMÅØÆÅÅØ», то в контроллере возвращается только «MMM», а остальная часть строки исчезает. У кого-то была такая же проблема?

ответ

1

Я думаю, что это проблема с кодировкой.

Использование так:

scriptData: { ProjectName: encodeURIComponent('@Model.ProjectName') }, 

Это должно исправить вас вопрос.

+0

судимого, но без успеха – Timsen

+0

окей nowits вернуть МММ &564; &564; &564; &564; я предполагаю &564; кодируются значение для п.в., например? есть все равно, чтобы декодировать его на стороне сервера? или мне нужно сделать string.replace? – Timsen

+0

@Timsen Вы можете использовать 'String DecodedString = Server.UrlDecode (EncodedString);' для декодирования строки на стороне сервера. –

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