linux printf文字编码设定?
来源: 互联网 发布时间:2016-07-23
本文导语: linux系统,C语言 printf文字的时候,显示乱码。 原因是用printf打印的文字的编码,与当前系统中默认的编码方式不同。(与locale中设定的不同) 实际: printf("ああああああ"); //打印日文字符 输出结果是 乱的。 linux系统时...
linux系统,C语言
printf文字的时候,显示乱码。
原因是用printf打印的文字的编码,与当前系统中默认的编码方式不同。(与locale中设定的不同)
实际:
printf("ああああああ"); //打印日文字符
输出结果是 乱的。
linux系统时EUC_JP,而打印的"ああああああ"是shift_JIS。
当我设shift_JIS作为显示界面的文字编码方式的时候,可以正常显示。
当用默认的EUC_JP时,就是上述的乱码。
在源程序的printf语句前,怎么处理一下,就能够使得,在不改变界面的默认文字编码的情况下,能够正常显示这段日文文字呢?
用什么locale命令什么的么??
printf文字的时候,显示乱码。
原因是用printf打印的文字的编码,与当前系统中默认的编码方式不同。(与locale中设定的不同)
实际:
printf("ああああああ"); //打印日文字符
输出结果是 乱的。
linux系统时EUC_JP,而打印的"ああああああ"是shift_JIS。
当我设shift_JIS作为显示界面的文字编码方式的时候,可以正常显示。
当用默认的EUC_JP时,就是上述的乱码。
在源程序的printf语句前,怎么处理一下,就能够使得,在不改变界面的默认文字编码的情况下,能够正常显示这段日文文字呢?
用什么locale命令什么的么??
|
取当前locale,然后用iconv转编码,然后再printf
|
自己先iconv吧。