您的位置:首页 > 运维架构 > Linux

strftime 输出显示乱码

2015-12-18 11:50 726 查看
ubuntu系统设置所有编码为 gbk直接调用strftimestrftime(time_buf, 80, "%a, %e %b %G %T %z", p_stime); 输出为 
Îå, 18 12Ô 2015 11ʱ19·Ö36Ãë +0800
原因
strftime字符串输出到buf时是按照系统设置的编码格式输出的,ubuntu设置成gbk,输出的字符串就是gbk编码的时间,
这些乱码是由于将 GBK 编码的字符串当作 latin1 编码解释造成的。两个解决办法:一、需要设置显示这些文字的工具使用 GBK 编码来解释该输出。二、调用strftime前,把系统时间设置成想要的编码格式,例如setlocale(LC_TIME,'en_US.UTF-8')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 编码 乱码