Проблемы с кодировкой в ​​моем проекте Blazor

Я начинаю работать с Blazor, с одним демонстрационным проектом, и у меня проблема с кодировкой, она не работает, возможно, она не реализована там, где это необходимо, я действительно не знаю. Итак, у меня есть кодировка, реализованная в index.html, html-файле внутри wwwroot и в моем Index.razor компоненте. В моем Index.razor я вызываю другой компонент только с элементами тела, где есть слова, которым нужны акценты.

Код, который у меня есть в index.html (я действительно не знаю, что делает этот код, он пришел с демо):

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
    <meta name="description" content="Guild Project"/>
    <title>Mission Control</title>
    <base href="/" />
    <script src="localStorage.js"></script>
    <link href="_content/RazorComponentsMaterialDesign/styles.css" rel="stylesheet" />
    <script src="_content/RazorComponentsMaterialDesign/script.js"></script>
    <script src="_content/RazorComponentsMaterialDesign/lib/material-components-web.js"></script>
    <link href="css/Layout.css" rel="stylesheet" />
    <script src="https://api.tiles.mapbox.com/mapbox-gl-js/v1.0.0/mapbox-gl.js"></script>
    <link href="https://api.tiles.mapbox.com/mapbox-gl-js/v1.0.0/mapbox-gl.css" rel="stylesheet" />
</head>
<body style="margin: 0px">

    <app>
        <!-- "Loading" spinner -->
        <div role="progressbar" class="mdc-linear-progress mdc-linear-progress--indeterminate">
            <div class="mdc-linear-progress__buffer"></div>
            <div class="mdc-linear-progress__bar mdc-linear-progress__primary-bar"><span class="mdc-linear-progress__bar-inner"></span></div>
            <div class="mdc-linear-progress__bar mdc-linear-progress__secondary-bar"><span class="mdc-linear-progress__bar-inner"></span></div>
        </div>
    </app>

    <script src="_framework/blazor.webassembly.js"></script>
    <script src="_content/PinMapLibrary/PinMap.js"></script>

</body>
</html>

Код index.razor:

@page "/"
@using MissionControl.Client.Components;

<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <div class="layout">
            <div class="sidebar">
                <Sidebar/>
            </div>
        </div>
    </body>
</html>

Здесь я вызываю компонент Sidebar, где у меня есть слова, для которых нужны акценты.

Код боковой панели:

<p>Permissões</p>

Как вы можете видеть, я реализую кодировку в index.html и Index.razor, но не работает. Вы можете видеть это на изображении ниже.

пример

Я думаю, что поместил всю информацию, которую вам нужно знать об этой проблеме, но если у вас есть сомнения, просто оставьте комментарий. Спасибо за Ваше внимание.


person LOL Jovem    schedule 27.08.2019    source источник
comment
Index.razor не должен содержать тегов ‹html›, ‹head› или ‹body›. Это точно не помогает.   -  person Henk Holterman    schedule 27.08.2019
comment
Нет репро. Я уронил <p>Permissões</p> на страницу, и он работает правильно.   -  person Henk Holterman    schedule 27.08.2019
comment
Создайте минимальный воспроизводимый пример. Начните с нового стандартного шаблона и внесите минимальные изменения, чтобы продемонстрировать проблему. Опубликуйте здесь все шаги вместе со всеми соответствующими номерами версий.   -  person Henk Holterman    schedule 27.08.2019
comment
Я только что удалил теги ‹html›, ‹head› и ‹body›, но проблема не исчезла. Я только что закончил тестирование, и проблема в вызове компонента. Итак, если я добавлю это слово в свой Index.razor, все в порядке, но в моем компоненте боковой панели не работает.   -  person LOL Jovem    schedule 27.08.2019
comment
Я скопировал его в компонент: по-прежнему нет воспроизведения.   -  person Henk Holterman    schedule 27.08.2019
comment
Обязательно попробуйте в разных браузерах.   -  person Henk Holterman    schedule 27.08.2019
comment
Итак, я создал новый проект Blazor. Я добавил свой index.html в wwwroot. После этого у меня были компоненты по умолчанию (файл Pages - ›Index.razor, Counter.razor ...). Я добавил <p> Olá </p> to my Index.razor page and works fine. After I added ‹Counter /› `в свой Index.razor, а в Counter.razor я просто добавил <p>Olá</p>, и это Olá не сработало.   -  person LOL Jovem    schedule 27.08.2019
comment
пример Как вы можете видеть, это проект по умолчанию и проблема. Да, я пробовал с firefox и chrome и получил тот же результат.   -  person LOL Jovem    schedule 27.08.2019
comment
Почему вы добавили мой index.html в wwwroot? В этом не должно быть необходимости. Кроме того, какой шаблон?   -  person Henk Holterman    schedule 27.08.2019
comment
Я создал веб-приложение ASP.NET Core, ввел имя, выбрал приложение Blazor Server, и есть шаблон.   -  person LOL Jovem    schedule 27.08.2019
comment
Тогда у вас должен быть _Host.cshtml, а не index.html. Удалите это index.html снова.   -  person Henk Holterman    schedule 27.08.2019
comment
Моя сеть отключилась, извините за задержку. Удалил его, и я вижу, что _Host имеет реализованную кодировку, но та же проблема.   -  person LOL Jovem    schedule 27.08.2019
comment
Вы пытались сохранить Index.razor с включением UTF8?   -  person agua from mars    schedule 27.08.2019
comment
Ну, тогда без понятия. Попробуйте ответить на свой вопрос с минимальными шагами. Когда вы видите ошибку, используйте опцию View Source в вашем браузере и опубликуйте HTML ..   -  person Henk Holterman    schedule 27.08.2019
comment
@aguafrommars нет, я этого не делал.   -  person LOL Jovem    schedule 27.08.2019
comment
@HenkHolterman Итак, если вы позвоните в Counter с <p>Olá</p>, это нормально ???   -  person LOL Jovem    schedule 27.08.2019
comment
в VS выберите Index.razor, затем File - ›Save Index.razor As. Щелкните стрелку вниз рядом с кнопкой Сохранить. Выберите Сохранить с включением. И выберите Unicode (UTF-8 с подписью) - Кодовая страница 65001   -  person agua from mars    schedule 27.08.2019
comment
Вы пробовали сделать то же самое с Sidebar.razor? В принципе, сохраните все с включением utf-8   -  person agua from mars    schedule 27.08.2019
comment
@aguafrommars Omg наконец-то. Огромное спасибо!!!   -  person LOL Jovem    schedule 27.08.2019


Ответы (1)


Сохраните весь исходный код в кодировке UTF-8:

В Visual Studio

  • выберите файл
  • нажмите "Файл" - ›Сохранить {файл} как ...
  • щелкните стрелку вниз на кнопке сохранения  введите описание изображения здесь
  • нажмите Сохранить с включением ...
  • выберите Unicode (UTF-8 с подписью) - Кодовая страница 65001 в поле «Кодировка».
  • нажмите ОК

Чтобы настроить VS для сохранения как Unicode по умолчанию:

Инструменты - ›Параметры -› Среда - ›Документы
Установите флажок Сохранить документы как Unicode, если данные не могут быть сохранены в кодовой странице

person agua from mars    schedule 27.08.2019