Code page error when compiling engine in v4.12

Hi,

When I build Unreal Engine in 4.12 from source code, I got a code page error as follow.

C:\UnrealEngine-4.12\Engine\Source\Runtime\Core\Private\Internationalization\Cultures\InvariantCulture.h(43): error C4566: character represented by universal-character-name ‘\u2030’ cannot be represented in the current code page (950)

[Here][1] is the whole compile message.

But I look into the code page of InvariantCulture.h, it is encoding by UTF-8 with signature. Not same as the compile message said is in code page 950 (Chinese Traditional Big5).

100609-codepage.jpg

And notepad++ also shows the encoding is in UTF-8.

100610-codepage_notepad.jpg

Then I try to convert file InvariantCulture.h into Codepage 950 (Chinese Traditional Big5) encoding. Unreal Engine can compile correctly and work well. That is weird. Is this a bug or can just change the code page and left it alone?

PS: I had meet this error in version 4.12.1, 4.12.2 and 4.12.5. I did not update to v12.3 and v12.4 so I can’t 100% sure, but I think this error may occurs in all 4.12 versions.

Hello,

I’m not sure I fully understand the issue. Could you explain in a bit more detail what you are trying to accomplish? If you are getting a successful compile, it seems that it would be working as intended. What is the expected behavior versus what you are seeing?

Thanks!

Hi,

Thanks for reply. First of all, English is not my native tongue, so please forgive me if I make you confused.

I clone the source code of engine from GitHub and try to build it. Normally, I can successfully compile it without change any settings right? But I got an error message says:

C:\UnrealEngine-4.12\Engine\Source\Runtime\Core\Private\Internationalization\Cultures\InvariantCulture.h(43): error C4566: character represented by universal-character-name ‘\u2030’ cannot be represented in the current code page (950)

In my understanding, this message told me I used code page 950 to represent a universal-character-name ‘\u2030’, so the compile got an error, right? But I check the encoding of the file InvariantCulture.h even if in Visual Studio or Notepad++, its encoding by UTF8 correctly. Not in Codepage 950. So why I still got the error message like that?

Then I change the encoding of InvariantCulture.h into Codepage 950 experimentally. After that, I can accomplish the build process without error. So here is the point makes me confused. The error message told me an opposite information? I think that is unreasonable. But why I got an error without changing the encoding from UTF8 to codepage 950?

Hello,

I have entered a bug report, UE-34010, for this issue. Thank you for your report.

Have a great day