問題敘述:
默認情況下,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