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");
}
}
どうも、ASP.NET.CoreがShift-Jisに対応していない+razorファイルがshift-jisで保存されてしまう場合があるの合わせ技で文字化けするようです。
というわけでrazorファイルをutfとして保存しなおします。
以上で終わりです!
ファイルごとにやる必要があります。。(UTFのファイルをコピーすればもとからUTFだとは思います)
やったね!