Cocos 控件在win10 uwp下不能显示中文

如题,同样的代码在ios和安卓平台就是好的,换到win10 uwp就显示乱码。

代码如下:
Button * uiButton;

std::string str= “这”;
uiButton->setTitleText(str);

用了CCUnicodeToUtf8 和CCUtf8ToUnicode 转换也还是不行。

我觉得既然是跨平台的引擎,就应该做的通用一点。
在win10 uwp 就自动将std::string str转化为平台所需的字符格式。而对使用者透明。

哪位大神知道怎么解吗?

应该是编码格式导致的。

在vs中:新建—高级保存选项—utf-8 试试

谢谢版主大大的回复。
保存为“uft-带签名”这个早就试过,刚才把下面这个行尾改为windows (CR LF) ,即已经按照版主的图示都改了,但是还是不行,中文还是显示的框框。:6:

我用的环境是cocos2dx 3.9 + win 10 +vs 2015 update1.

基本上所有的转化成utf-8的方式(转化成宽字符,读取xml文件中的字符)我都试过,都没用。导入中文字库,可以解决,不过就是中文字库有点大,20几m。如果是确定的文字,直接用图片代替好了,如果是输入框中要输入中文的话,目前没有好的解决方法。

感谢回复,我也试过不少方法,但是导入字库还没有试验,请问大神导入中文字库的话,代码上还要做哪些工作呢?

UTF-8带签名
加上
#ifdef _MSC_VER
#pragma execution_character_set(“utf-8”)
#endif
或者在公用的头文件上加上这句
还有,最好别用系统字库,可能会没有

不是大神……
下面这个链接说的比较好,而且他还带了一个中文字库。
好多时候不是我们的代码编码有问题,是机器本身不支持某个中文字库。
http://blogs.msdn.com/b/windows__windows_game_dev_faq_/archive/2014/11/06/ttf-cocos2dx-wp8.aspx

我 的这个显示的是方框,应该是字库的问题,但是我都用的是cocos 的控件,没有类似
auto label = LabelTTF::create( CCUnicodeToUtf8(L"梅颖广研究Cocos2dx"), “fonts/arialuni.ttf”, 36);
这样的语句去创建sprite,字体也都是cocos UI 控件自动设置的,难道要改cocos UI的源码?:12:

把字库资源拖到编辑器里面去,然后改变相关的字体变量设置。
第二种方法,这几个label,你可以手动添加到游戏中去。

感谢,我试一下,有结果了再反馈
感觉引擎对uwp的支持还是没有做到和iOS,安卓统一。

你这个就错怪cocos引擎了,这个应该是uwp相关的设备没有按照相关字库标准。引擎管不了硬件的,只负责按标准做接口。:3: