4
0

More than 3 years have passed since last update.

Blazorで文字化けした話

Posted at

Blazor初心者(かつ市民ディベロッパー)がいきなり日本語の文字化けで困った話

公式のチュートリアルに従ってBlazorのプロジェクト開始後、「ちょっとタイトル日本語にしてみようか」と思うと、文字化けするかと思います。

コード

@page "/fetchdata"
@using BlazorApp1.Shared
@inject HttpClient Http

<h1>This is 天気予報</h1>

<p>This component demonstrates fetching data from the server.</p>

@if (forecasts == null)
{
    <p><em>Loading...</em></p>
}
else
{
    <table class="table">
        <thead>
            <tr>
                <th>Date</th>
                <th>Temp. (C)</th>
                <th>Temp. (F)</th>
                <th>Summary</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var forecast in forecasts)
            {
                <tr>
                    <td>@forecast.Date.ToShortDateString()</td>
                    <td>@forecast.TemperatureC</td>
                    <td>@forecast.TemperatureF</td>
                    <td>@forecast.Summary</td>
                </tr>
            }
        </tbody>
    </table>
}

@code {
    private WeatherForecast[] forecasts;

    protected override async Task OnInitializedAsync()
    {
        forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("WeatherForecast");
    }
}

こんな感じで文字化けしちゃう
image.png

どうも、ASP.NET.CoreがShift-Jisに対応していない+razorファイルがshift-jisで保存されてしまう場合があるの合わせ技で文字化けするようです。
というわけでrazorファイルをutfとして保存しなおします。

  1. Visual Studio で、該当のrazorファイルを選択
  2. ファイル→名前を付けて保存
  3. エンコード付きで保存 image.png
  4. BOM付きのUTFとして保存 image.png

以上で終わりです!
ファイルごとにやる必要があります。。(UTFのファイルをコピーすればもとからUTFだとは思います)

こんな感じで治りました
image.png

やったね!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0