iconv忽略不可識別字符

網上抓來的代碼經常需要進行碼制轉換,問題是經常出現特殊字符造成 iconv轉換的失敗. 其實可以忽略掉特殊字符.其實在目標編碼的後面加上 //IGNORE 就可以忽略掉未知字符.

另外還有//TRANSLATE ,將把不認識的字符自動轉換爲相近的字符

  

	iconv_t cd = iconv_open("utf-8//IGNORE","gbk") ;
	if((int)cd == -1)
		return;
	const char * inbuf = "class=c01>房產大家談</td></tr>>";
	size_t inlen = strlen(inbuf);
	char * buf = new char [1024];
	char * outbuf = buf;
	memset(outbuf,0,1024);
	size_t outbytesleft = 1024;
	size_t st = iconv(cd,&inbuf,&inlen,&outbuf,&outbytesleft);
	delete buf;





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章