本帖最后由 hixon 于 2025-7-22 15:58 编辑
【问题描述】
由于一代屏并没有做多语言的支持,另外屏上固件默认的编码格式是GBK,所以没法通过CTP的方式来接收utf-8格式的文字内容。
比如我们想通过CTP协议,让页面中间的按钮显示葡萄牙语的“Manutenção”, 那正常情况下,我们在单片机上给一代屏幕发送的内容应该类似 “main_button.text='Manutenção';”,但是屏幕接收到后,显示的内容并不是预期,如:
【解决方案】
我们可以通过拖入一个隐藏的标签来曲线救国达到我们想要的效果:
1. 从控件列表拖入一个标签 main_label, 把它的文字属性设为 "Manutenção", 把可见属性勾选去掉,让它变成在界面上不可见。
2. 在单片机中发送如下的指令:
printf("main_button.text=main_label.text;\r\n");
3. 我们在模拟器中模拟一下,可以看到已经是我们预期的显示效果了。