问题叙述:
默认情况下,ROS_INFO是不支持中文编码的,如果在终端打印一些中文字符串,会显示一连串???????

解决方案:
将编码修改为utf8,程序开题添加如下代码:

setlocale(LC_CTYPE,"zh_CN.utf8");

setlocale()函数用于设置程序所使用的当前语言编码、日期格式、数字格式及其它与区域有关的设置,该函数位于头文件#include <locale.h>,对于C++程序,应该包含#include<locale>,但此时应这样初始化:std::locale::global(std::locale("")),方便起见,建议使用C版。

效果:
在这里插入图片描述
在这里插入图片描述

参考文献:

  • https://www.cnblogs.com/lanhaicode/p/10659763.html
  • https://blog.csdn.net/haiross/article/details/45074355