gdb调试时输出不能正确输出中文

时间:2022-06-14 13:05:58
源码:
sprintf( Gs_Msg, "%s 各地市所属中心配置:中心1-[%s],中心2-[%s],中心3-[%s],中心4-[%s]", Ls_Fun_Name, Gs_Array_Conter[0],Gs_Array_Conter[1], Gs_Array_Conter[2], Gs_Array_Conter[3] );

用gdb调试时输出如下:
(gdb) p Gs_Msg
$1 = "Fun_ReadConfig() \270\367\265\330\312\320\313\371\312\364\326\320\320\304\305\344\326\303\243\272\326\320\320\304\061-[C,F,G,L,Q]\243\254\326\320\320\304\062-[H,J,M,N,S]\243\254\326\320\320\304\063-[A,B,K]\243\254\326\320\320\304\064-[D,E,R,P]", '\000' <repeats 894 times>

中文变成了\270\367\265\330\312\320\313\……这样的

5 个解决方案

#1


确认一下你的code中文的编码格式,是utf-8格式的吗?
在Linux下中文一般是utf-8格式的才能正常显示,否则可能会以乱码形式出现

#2


你可以考虑在编写的是,将编码更换为ANSI 编码

#3


对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A

#4


该回复于2018-04-28 10:00:31被管理员删除

#5


查看文字的格式。

#1


确认一下你的code中文的编码格式,是utf-8格式的吗?
在Linux下中文一般是utf-8格式的才能正常显示,否则可能会以乱码形式出现

#2


你可以考虑在编写的是,将编码更换为ANSI 编码

#3


对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A

#4


该回复于2018-04-28 10:00:31被管理员删除

#5


查看文字的格式。