大家好,我是阿赵。
在UE编写C++的时候,可能有些朋友发现,在C++里面如果打印输出或者赋值一些中文的字符串的时候,会出现各种的报错,要么乱码,要么直接编译不过。
这个问题,其实和UE本身没什么太大关系,是Visual Studio的问题或者是系统的问题。
一、代码的乱码
为了解决这个问题,我们需要在Visual Studio里面强制指定一下UTF-8编码。
先打开Visual Studio 2022,然后在”扩展”里面找到”管理扩展”的选项:
打开管理扩展界面之后,搜索一下utf8,可以找到一个Force UTF-8(No BOM)的扩展选项:
点击下载并安装:
安装完之后,再在里面打印一个中文的字符串,发现已经能正常编译和显示了:
二、编译报错乱码
在编译失败的时候,经常会看到这样一堆看不懂的乱码,导致很难去判断报错的原因:
这个问题,其中一个解决办法是,找到Windows的区域设置——其他日期、时间区域设置——管理——更高系统区域设置,然后勾上:Bate 版:
使用Unicode UTF-8 提供全球语言支持
修改完这个设置之后,是需要重启Windows系统的,重启完之后,再次打开UE,编译,就会看到之前的编译报错都变成中文了。
不过这样的修改,可能会影响到系统里面别的软件,是否需要这样设置要考虑下。如果实在不行,其实在visual studio里面编译,就会在vs里面看到报错,那样就不会有乱码的问题。