RecursiveFrog 发表于 2021-11-22 18:39

关于UE4 编译日志(compile log)乱码问题


学习UE快半个月了,涉及c++的编译还挺频繁的。每次编译失败的错误说明部分老是现实乱码,一开始觉得影响还不大就没去管,现在需要知道错误原因,总不能对着乱码发呆吧。
于是问了群友,立马给了解决方法。一般乱码的出现,大概率是因为语言转化的问题。UE编译日志的乱码就是转化格式的问题。那些乱码其实是中文。需要本地Unicode设置修改一下。
方法有3种:
1.把Windows的区域设置中的“使用Unicode UTF-8 提供全球语言支持”打开。选项位置如下。




然后重启一下电脑就Ok了。我就是用这种方法,解决速度很快。
2.反向解决乱码:既然乱码是中文,那不要用中文不就行了吗。直接把本机语言设置成English就好了。
如果你能接受为了UE而把本机语言改成英文的话,那就用这种方法吧。
3.去修改UE内的源文件。
把FWindowsPlatformProcess中的#1改成如下:
Output += FString(string2wstring(std::string((const ANSICHAR*)Buffer), "Chinese_China.936").c_str());
把GBK编码的Buffer转化成std::wstring再转换成FString。
改完记得重新编译UE。
这个方法我没试过,不过应该生效。

本篇解决方案原文来自:Unreal Engine 4:编译时出现中文乱码问题
希望有所帮助。

Doris232 发表于 2021-11-22 18:43

第四种:百度搜索“wincmd 乱码”

TheLudGamer 发表于 2021-11-22 18:49

最好从一开始就用英文,不然学C++阶段会很头疼

xiaozongpeng 发表于 2021-11-22 18:56

VS换成英文也可以

super1 发表于 2021-11-22 18:59

打开“使用Unicode UTF-8 提供全球语言支持”后有些比较老的软件会出现兼容性问题,例如RTX,其他python写的程序也可能会有兼容性问题,如果只是自己本地下调整问题不大,因为可以开一下关掉一样生效,兼容性问题也都没了,如果用作团队使用会不太方便。我们是VS换英文版,一方面解决这个问题,另一个是做FastBuild的兼容。
页: [1]
查看完整版本: 关于UE4 编译日志(compile log)乱码问题