iso-8859-1编码如何转化为utf-8的编码输出?

2024-11-17 13:49:46
推荐回答(2个)
回答1:

这种问题解决方法很多,首先可以把网页的编码、传送编码等等一切编码改为utf-8,这是最简的方法
8859-1是单字节编码,而中文是两个字节的,所以编码会出现问题
还可以通过编码转换的方式
设得到的字符串为s1
则转换后的字符串为 String s2 = new String(s1.getBytes("iso-8859-1"),"utf-8");

回答2:

经过2小时,终于解决了问题:1,别用file_get_contents(),用这个函数获取内容:function curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, 1);
return curl_exec($ch);
curl_close($ch);
}

2,检测出“ISO-8859-1”不一定是这个编码,要看看网页中人家标注的什么编码,比如"GB2312",然后用这个函数:$data=mb_convert_encoding($data,"UTF-8","GB2312");