Символ валюты евро не будет отображаться, хотя другие символы работают - PullRequest
0 голосов
/ 30 марта 2012

Я отправляю данные с одной страницы на другую в приложении MVC2. Страница 1 отправляет информацию о цене, а Страница 2 отображает общую сумму без учета налогов. Используя Fiddler, я вижу, что мои данные правильно выкладываются со страницы 1 как таковые:

itemA_3225=Description&itemB_3225=123&itemCurrency_3225=USD&itemSymbol_3225=%24

Затем, в методе Post моего Контроллера, у меня есть эта строка:

mySymbol = Request.Form["itemSymbol_" + itemID].ToString();

и mySymbol корректно обновляются как "$".

Однако, когда я пытаюсь сделать это для евро, это не работает, хотя все остальное кажется похожим:

itemA_3226=Description&itemB_3226=123&itemCurrency_3226=EUR&itemSymbol_3226=%80

Но в моем контроллере переменная mySymbol установлена ​​в "". Есть идеи? $ и & фунт; работают нормально, но евро и & fnof; не работают.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

В моем опыте 90% времени с такими ошибками проблема связана с чтением / записью с неправильным набором символов.

0 голосов
/ 30 марта 2012

Не используйте %80 в URI для символа евро. Набор символов для URI всегда UTF-8, поэтому вы должны отправить символ U+20AC или, с кодировкой uuencoded, %E2%82%AC

Надеюсь, это поможет!

...