MDK5 UTF8
发布日期:2021-06-30 22:01:49 浏览次数:2 分类:技术文章

本文共 606 字,大约阅读时间需要 2 分钟。

前言

在MDK5的STM32工程中,要拼装json串给web端,web端的easyui用的UTF8编码。

从配置文件读回的字段内容也是UTF8编码。
但是工程源码,以前同事选的GB2312简体。
那我拼装json时,有些固定的中文字符串,就是GB2312, 到了web端显示就乱码了。
但是我拼装时,将固定字符串,拷贝进缓冲区,再用工具函数转成UTF8又很繁琐。
于是找个批量文件编码转换工具,将工程所有.h, .c全部转成UTF8编码。
这时,编译不过了,查资料,要设置C/C++选项为 --locale=english. 这是能编译过了。

试验

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在代码中,再使用字符串赋值时,就是UTF8的固定字符串

#define MSG_NO_THIS_DEVICE "没有此设备"
// 用批量转换工具文件编码转换-64_by_java.exe 将全部的.h .c 由GB2312转成UTF8		// 在C++选项中增加 --locale=english		// 必须将工程编码设置为UTF8, 才能在Json中赋值固定中文字符串,否则到了web端,就乱码了		pjson_value = cJSON_CreateString((b_find_device_id ? psz_buf_val : MSG_NO_THIS_DEVICE));		if (NULL == pjson_value) {			break;		}

转载地址:https://lostspeed.blog.csdn.net/article/details/103180543 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:从头搭建一个STM34F407的固件库工程模板
下一篇:居然发现了不同数据CRC16结果一样

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月25日 15时13分51秒