MDK-Keil5 (六)修改UTF-8格式后用CubeMX重新生成代码中文乱码解决办法

前言

在嵌入式开发中,STM32CubeMX 作为一款强大的代码生成工具,极大地简化了 STM32 项目的初始化配置过程。然而,由于 Windows 系统的默认编码为 GBK,STM32CubeMX 生成的代码文件也默认采用了 GBK 编码格式。与此同时,随着 UTF-8 编码的普及,许多开发者更倾向于使用 UTF-8 格式来编写和保存代码文件,以避免跨平台或跨工具的编码兼容性问题。在使用 Keil MDK 进行开发时,如果将代码文件的编码格式修改为 UTF-8,可能会导致 CubeMX 重新生成代码时,原有的中文注释出现乱码问题,本文将提供的解决方案,帮助开发者在享受 UTF-8 编码优势的同时,避免 CubeMX 重新生成代码时的中文乱码问题。

一.CubeMX重新生成乱码问题

由于 Windows 系统的默认编码为 GBK,“STM32CubeMX ”在生成代码时也默认使用了 GBK 编码。尽管 Keil5已修改为 UTF-8 格式,在代码中中文注释能正常显示。但是,当使用" CubeMX "重新生成代码时,但代码中的中文注释仍保留了 GBK 编码,会导致中文注释的最后一个字符出现乱码问题。

显示效果如下:

二.解决方法

1.进入编辑系统环境变量

在电脑搜索“环境变量”,点击【编辑系统环境变量】进去,在系统属性弹窗,选择 【高级】- 【环境变量】

2.添加系统环境变量

在系统变量中新建环境变量,在弹出窗口中输入以下内容:

变量名(N):JAVA_TOOL_OPTIONS

变量值(V):-Dfile.encoding=UTF-8

最后点击确定,在系统变量中能看到刚才添加的环境变量。

三.添加环境变量显示效果

在添加环境变量后,对于此前未添加环境变量时因编码问题导致乱码的工程,重新生成代码后,中文显示仍未恢复正常。这表明,若未提前配置环境变量,生成代码中的中文注释一旦出现乱码,将难以自动恢复。目前,通过手动修正中文注释并重新生成代码,中文显示已恢复正常,未再出现乱码问题。

参考文章

参考优快云这篇文章:STM32CubeMX生成代码时防止UTF-8乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值