首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

Linux下wchar_t读文件乱码有关问题

2012-05-27 
Linux下wchar_t读文件乱码问题定义了wchar_t name[] L中文名 wchar_t sex[] L男wchar_t nation[]

Linux下wchar_t读文件乱码问题
定义了wchar_t name[] = L"中文名" wchar_t sex[] = L"男"
wchar_t nation[] = L"汉族",这样可以。然后想从文件abc.txt中读取这些汉字分别赋值给name 、 sex 和 nation,
试了好几次结果都是乱码,希望各位大神帮忙解决下。急用,小弟感激不尽!


PS:abc.txt内容格式为 中文名 男 汉族···

[解决办法]
任何数据都是二进制,任何文件其实没有本质区别,关键是编码方式

你把源码中的那些wchar_t的中文写入一个文件,再直接从文件中读,那肯定是可以,但编码一变就不行了

如果你搞不清楚编码,你用char还是wchar_t都会产生乱码,有时候是存储问题,有时候是显示问题,比如通常中文的linux默认编码zh_CN.UTF-8,虽然utf-8和gbk都适合用char存,但这种情况下gbk同样可能乱码,除非绕让带解析BOM功能的编辑器识别

热点排行