截取网站标题 转码 我的php页面是utf8编码,从gb2312网页上截取<title>中的内容时返回的都是乱码,请问有什么解决方法吗.另外右能够测出文字是什么编码的函数吗,mb_detect_encoding返回的都是utf8 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )或者iconv() 转换就用楼上的办法。判断编码你获取的都是网页吧,像浏览器都是用这种方式判断:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 获取 meta 标签,然后检测后面的 charset 后面的就是网页编码了,当然这个编码一般情况下都是对的,不对的话就是有些做网站的编码写错了(一般不会,因为编码写错了,浏览器打开那么网页也就因为编码识别不对而乱码了,没有网站编写者那么傻) 手册中说得很明白了string mb_detect_encoding ( string str [, mixed encoding_list [, bool strict]] )If encoding_list is omitted, detect_order is used. 如果缺省 encoding_list 则按 mb_ detect_order 给出的检测顺序进行检测而默认的 mb_detect_order 是Array( [0] => ASCII [1] => UTF-8)所以他不可能检测到 gb2312你至少需要$charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));来取得串的语言编码 恩,先判断charset是个好办法.另外想问一下,国内网页编码除了gb2312,uft8,还有其他的吗.还有这个mb_convert_encoding和iconv效率差别大吗 说到这个PHP手册,能给我推荐一个好点的吗,我下载的都不太全.我想要那种chm格式的,中文多点的比较好.这个W3C网站有离线参考手册吗 没有特别好的办法,就从charset入手吧。即使是GBK的,用mb检测,也会返回UTF-8的。 再问一个很弱的问题,这个charset应该不算meta的属性吧?这到底是个什么东西呀,怎么提出来检测呀 get_headers -- 取得服务器响应一个 HTTP 请求所发送的所有标头get_meta_tags -- 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组能不能取到就两说了,我就不喜欢写语言声明********$string = '这是中文';echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));//强制转换为 utf-8$string = mb_convert_encoding($string, 'utf-8', $charset);echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));//强制转换为 gbk$string = mb_convert_encoding($string, 'gbk', $charset);echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));********mb_convert_encoding和iconv效率差别大吗差不多吧?一般我喜欢用 iconv 函数组,但 iconv 函数组中没有编码识别的成员 很感谢,能帮我看一下这个问题吗http://topic.csdn.net/u/20110606/20/8e265f60-279d-4bf8-8fea-ed757a7a6bb9.html 通过odbc查询表,怎么获得查询出来的行数,急急!! 用jquery-dynamic-form插件时上传的文件怎么获取? 如何把多条选上的复选框数据保存到数据库 在线等 mysql导入问题?报ERROR 怎么去时间差 安装php的运行环境,始终不成功 cookie问题 请问怎么统计新闻的点击率并显示出来? 谁有老版本的PHP? thinkphp隐藏index.php以后500 请教csdner,另类方式的注册方式有安全隐患吗? 再请教3个php问题(我老是下标溢出)
或者iconv()
string mb_detect_encoding ( string str [, mixed encoding_list [, bool strict]] )If encoding_list is omitted, detect_order is used.
如果缺省 encoding_list 则按 mb_ detect_order 给出的检测顺序进行检测
而默认的 mb_detect_order 是
Array
(
[0] => ASCII
[1] => UTF-8
)
所以他不可能检测到 gb2312你至少需要
$charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));
来取得串的语言编码
即使是GBK的,用mb检测,也会返回UTF-8的。
get_meta_tags -- 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组能不能取到就两说了,我就不喜欢写语言声明********$string = '这是中文';
echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));
//强制转换为 utf-8
$string = mb_convert_encoding($string, 'utf-8', $charset);
echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));
//强制转换为 gbk
$string = mb_convert_encoding($string, 'gbk', $charset);
echo $charset = mb_detect_encoding($string, array('ASCII', 'UTF-8', 'GBK'));********mb_convert_encoding和iconv效率差别大吗
差不多吧?
一般我喜欢用 iconv 函数组,但 iconv 函数组中没有编码识别的成员