STM32CubeMX处理UTF-8编码中文注释存在的问题及解决方法

STM32CubeMX处理UTF-8编码中文注释存在的问题及解决方法

Windows环境下源代码使用UTF-8编码,STM32CubeMX创建的源文件中包含中文注释,那么使用STM32CubeMX重新生成源代码时会导致中文注释变乱码。

http://blog.csdn.net/zoomdy/article/details/54767178
mingdu.zheng at gmail dot com

存在的问题

STM32CubeMX修改配置并重新生成文件后,原来的中文注释中出现了乱码,见下图。

这里写图片描述

下图是乱码之前的代码。

这里写图片描述

按照STM32CubeMX的设计,在重新生成代码时只会修改STM32CubeMX生成的代码,保留用户在指定区域内编写的代码。

问题分析

多次实验后发现,只有在Windows环境下源代码使用UTF-8编码时才出现这个问题,如果使用Windows默认的GBK编码是没有问题的。Linux环境下使用UTF-8编码不会出现这个问题,Linux默认编码就是UTF-8。

解决办法

1、不要使用UTF-8编码。如果开发环境是多元的,要支持Windows、Linux、Mac OS X,那只能使用UTF-8编码。
2、不要在STM32CubeMX生成的文件中写中文注释,可以写英文注释,或者将有中文注释的代码放到用户创建的源文件中,STM32CubeMX不会去修改用户创建的源文件,所以是没问题的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值