У меня есть приложение ASP. NET MVC. В одной из форм у меня возникли проблемы с кодировкой символа С. Это показано ниже:
Ñ
Эта форма имеет несколько объектов, таких как TextBoxFor и select, среди прочего. Первоначально, когда страница загружается впервые, символ С отображается корректно во всех html объектах (TextBoxFor, Select среди других). После того, как я заполнил все поля, я нажимаю кнопку сохранения, чтобы сохранить значения в базе данных. Затем страница перезагружается и сохраняет все поля заполненными (они не очищаются).
После перезагрузки страницы символ С отображается следующим образом:
Ñ
в html Выберите объект ниже:
<select class="form-control" id="street" name="street"></select>
, но в других объектах, таких как так как TextBoxFor корректно отображается как С:
@Html.TextBoxFor(model => model.DepartmentName, new { @class = "input-xmediumlarge" }, (bool)( !ViewBag.ReadOnly), true)
Html Выбранный объект заполняется из запроса к базе данных. Пока пользователь вводит в него символы, поиск выполняется на лету (с использованием JQuery), и элементы, содержащие эту строку, отображаются для выбора. Элементы, показанные на лету, которые содержат символ С, отображаются правильно. Проблема в том, что после сохранения значений и перезагрузки страницы. Символ С отображается неправильно в html объект выбора. Это происходит только в выбранном объекте. Во всех других объектах символ С отображается корректно.
Я указал следующие утверждения в разделе заголовка страницы:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
Кроме того, представление CS html сохраняется как UTF. -8. Я проверил это с помощью Notepad ++, выполнив следующие действия: Откройте файл в Блокноте. Нажмите «Сохранить как ...». В поле со списком «Кодировка:» я вижу текущий формат файла UTF-8.
Так что я делаю не так?
ОБНОВЛЕНО : Я отладил и проверил сгенерированный исходный код браузером inte rnet (chrome, firefox и т. д.), и я вижу проблему в том, что при установке de html выберите значение с помощью jquery, как показано ниже:
$('#street').val('@Model.street');
Выше строки интерпретируется браузером inte rnet, как показано ниже:
$('#street').val('PEÑALBES');
, поэтому в html объект выбора отображается как:
PEÑALBES
вместо PEÑALBES .