请问STemWin 显示汉字,一定要更改keil的编码方式为UTF-8吗?

2019-12-10 18:20发布

Font 用FontCvtST.exe按如下步骤生成C文件字库
1     新建.txt文件,输入汉字.  编码格式改为unicode.
2     打开FontCvtST.exe选择字体
3     把所有字体取消选择。
4     FontCvtST.exe读入.txt文件.
5    另存为.c文件。
6    修改.c文件编码格式为UTF-8。

      简单程序测试:

        GUI_UC_SetEncodeUTF8();
        GUI_SetFont(&GUI_Fontsong33);
        GUI_DispStringAt("在指定位置显示字符串",10,150);
        GUI_SetFont(&GUI_Font32_ASCII); //设置字体
        GUI_DispString("25"); //在指定位置显示字符串

测试不能正常显示中文, 将编译器(如keil)的默认编码方式,改为UTF-8就可以显示中文了.
但是所有文件的注释全部变为乱码了.   

请问有没有什么方法可以不用改keil的默认编码方式,而正常显示汉字? 因为需要的汉字不多希望直接放在.c文件中.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
takashiki
1楼-- · 2019-12-11 18:49
我没用过STemWin,但是根据以前使用uc/GUI的经验,字符集的编码不是制约乱码的必然因素。必然因素是你要求的编码和实际的编码必须一致。
你代码第一行就要求UTF8了,Keil C中还用ANSI显然是不行的。同样,你在代码中要求ANSI而在Keil C却用UTF8也是不行的。
当然,这是基于以前的uc/GUI得出的结论,可能后面版本改了也说不定。那时还不支持UTF8呢,但支持UTF16。
kebaojun305
2楼-- · 2019-12-11 22:56
原注释乱码  很容易解决,全部转成utf8编码,我的原文档就是全部utf8 别人发给我的,不是的 我也会转到 utf8.  有批量转编码的软件。  单个文件的 可以使用 Notepad++编辑软件
boycn
3楼-- · 2019-12-12 01:47
kebaojun305 发表于 2019-7-31 08:53
原注释乱码  很容易解决,全部转成utf8编码,我的原文档就是全部utf8 别人发给我的,不是的 我也会转到 utf ...

请推荐源程序编码批量转换的工具,谢谢
hzyyl2008
4楼-- · 2019-12-12 07:24
 精彩回答 2  元偷偷看……
boycn
5楼-- · 2019-12-12 13:16
hzyyl2008 发表于 2019-7-31 10:02
UltraCodingSwitch 坛里有兄弟推荐过

编辑原因:添加附件(添加不成功)

谢谢 UltraCodingSwitch.rar (466.08 KB, 下载次数: 16) 2019-7-31 10:33 上传 点击文件名下载附件

simplorer
6楼-- · 2019-12-12 14:22
2017年为了统一git,公司编码方式统一转换成了utf-8。

一周热门 更多>