Using old behavior by applying true to NMakeUseOemCodePage property solves this issue.

 in VCProject.cs​

			// Project globals (project GUID, project type, SCC bindings, etc)
				VCProjectFileContent.AppendLine("  <PropertyGroup Label=\"Globals\">");
				VCProjectFileContent.AppendLine("    <ProjectGuid>{0}</ProjectGuid>", ProjectGUID.ToString("B").ToUpperInvariant());
				VCProjectFileContent.AppendLine("    <Keyword>MakeFileProj</Keyword>");
				VCProjectFileContent.AppendLine("    <RootNamespace>{0}</RootNamespace>", ProjectName);
				VCProjectFileGenerator.AppendPlatformToolsetProperty(VCProjectFileContent, ProjectFileFormat);
				VCProjectFileContent.AppendLine("    <MinimumVisualStudioVersion>{0}</MinimumVisualStudioVersion>", VCProjectFileGenerator.GetProjectFileToolVersionString(ProjectFileFormat));
				VCProjectFileContent.AppendLine("    <NMakeUseOemCodePage>true</NMakeUseOemCodePage>");  //add this line				VCProjectFileContent.AppendLine("    <TargetRuntime>Native</TargetRuntime>");
				VCProjectFileContent.AppendLine("  </PropertyGroup>");



Steps to Reproduce

1. Install Japanese language pack to Visual Studio 2019(16.6 later) via Visual Studio Installer (Visual studio Menu > Tool > Get tools and features )
2. Set visual studio language to Japanese in Menu > Tool > Option > Environment > Internationalization
3. Modify a source code to cause a compile error
4. Build

The compiling error is displayed as garbled characters.
[Image Removed]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-102825 in the post.

Login to Vote

ComponentDevTools - UnrealBuildTool
Affects Versions4.25
CreatedNov 10, 2020
UpdatedNov 11, 2020