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

C/C++怎么获取一个文件的编码方式

2012-11-03 
C/C++如何获取一个文件的编码方式?由于之前的xml文件未考虑编码问题,在xml生成时没有编码方式,导致xml文件

C/C++如何获取一个文件的编码方式?
由于之前的xml文件未考虑编码问题,在xml生成时没有编码方式,导致xml文件
从windows server 2003上搬到linux上出问题

windows server 2003我看了一下,编码方式是:gb2312
linux编码方式是:utf-8

我的程序需要读取xml

如果手动转换:
[root@localhost bin]$iconv -f GB2312 -t UTF-8 11.txt -o 11.txt.bak
[root@localhost bin]$mv 11.txt.bak 11.txt

如果用程序转换怎么转换呢?程序每次都执行上述命令
如果文件已经是utf-8,再启动程序的时候便会出错。

所以我想,如果获取到了文件的编码方式再通过iconv命令转换就不会出问题了

问题是:用C/C++怎么才能获取到一个文件的编码方式?



[解决办法]
搞错了:
utf-8: 头2个字节为0xEFBB;
unicode: FF FE 或者 FE FF
[解决办法]
1, 修改xml文件,加入charset 或者
2,xml parser中指定编码字符集
[解决办法]
我的博文(http://blog.csdn.net/turingo/article/details/8136644)有详细的方案。

热点排行