ViewComponent/PartialView неправильно кодируется и не использует UTF8

Контент моего ViewComponent по какой-то причине закодирован, и я не смог найти способ правильно его отобразить.

По-моему:

<vc:my-component></vc:my-component>

Мой компонент:

@model List<MyViewModel>

@foreach (var myViewModel in Model)
{
    <table class="table table-bordered">
        <thead class="thead-default">
            <tr>
                ...
                <th>Miércoles</th>
                ...
            </tr>
        </thead>
        <tbody class="tbody-default">
            ...
        </tbody>
    </table>

}

HTML отображается как:

<th>Mi�rcoles</th>

Я пытался использовать это, но не имело никакого значения:

<th>@Html.Raw("Miércoles")</th>

Как я могу заставить ASP.NET Core отображать ViewComponent без его кодирования?

РЕДАКТИРОВАТЬ:
То же самое происходит с PartialViews

2 ответа

Решение

Это самая глупая ошибка в истории.

Так как для новых проектов все идет отлично, я решил попробовать создать новый проект и скопировать мои файлы. Угадай, что? Такая же проблема возникла. После детского копирования текста в один из рабочих проектов, сохранения файла и копирования сохраненного файла в проект с проблемами, он работал просто отлично.

Я нахожу совершенно странным, что VS, Notepad и Notepad++ могут нормально открывать файл, а ASP.NET Core - нет.

Итак, решение? Скопируйте данные и замените файлы...

У меня такая же проблема. Даже поместив кодировку на страницу макета, частичный просмотр не сработал.

Чтобы решить эту проблему, мне пришлось изменить кодировку файла следующим образом:

1 - битая страница

2 - Откройте папку, в которой находится файл

3 - Откройте файл с разбивающимися символами в блокноте.

4 - Щелкните (Файл -> Сохранить как)

5 - Измените кодировку на UTF8 и сохраните файл.

6 - Проверить результат

Смотрите .. это решение также работает с JavaScript.

Другие вопросы по тегам