ZZZ-11-CubeIDE篇

中文乱码

第一步:设置 IDE 全局编码为 UTF-8

为了与国际接轨并减少跨平台问题,建议统一使用 UTF-8

  1. 在菜单栏点击 Window -> Preferences
  2. 展开 General -> Workspace
  3. 在右侧最下方的 Text file encoding 中,选择 Other: UTF-8
  4. 点击 Apply and Close

第二步:修改编译器选项(核心步骤)

即使编辑器设置好了,编译器(GCC)在处理代码中的中文常量时,仍可能出现识别问题。我们需要手动告诉编译器如何处理中文。

  1. 在你的工程项目上 右键 -> Properties
  2. 进入 C/C++ Build -> Settings
  3. 在右侧找到 Tool Settings 选项卡,点击 MCU GCC Compiler -> Miscellaneous
  4. Other flags 输入框的最末尾,添加以下指令(注意前面有个空格): -finput-charset=UTF-8 -fexec-charset=GBK
    • 指令含义:告诉编译器,我的输入文件(源码)是 UTF-8,但生成的执行程序(发给串口的)请使用 GBK
    • 注:这样设置后,大多数 Windows 串口助手(默认 GBK)就能直接显示正常中文了。

进阶:如果还是乱码?(文件级别转换)

有时候你之前的代码已经是用某种编码保存的,修改全局设置后,旧代码里的中文会变乱码。

  1. 在具体的 .c.h 文件上 右键 -> Properties
  2. Resource 标签页修改 Text file encoding
  3. 如果已经乱码了,你可以先用记事本打开,另存为 UTF-8 编码,再粘回到 IDE 中。
Licensed under CC BY-NC-SA 4.0