怎么判断file_get_contents来的数据 是什么编码 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 file_get_contents函数本身不能判断。只能根据内容来判断。 mb_detect_encoding返回的不是想要的 utf-9 gbk这些 他好像返回的是一个编号 $enc=mb_detect_encoding($result, "gb2312,gbk,utf-8"); var_dump($enc);结果是 string(6) "EUC-CN" EUC-CN是GB 2312最常用的表示方法。浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。不过你用 mb_detect_encoding 是不能得到正确的结果的你把这个列表 "gb2312,gbk,utf-8" 里面的编码位置调一调看看 我换成 gbk,gb2312,utf-8结果是 string(5) "CP936" 也不是想要的结果 我想让他直接告诉我 是 gb2312或utf-8等 本帖最后由 xuzuning 于 2012-04-12 16:25:05 编辑 file_get_contents只能编程人员来确定。 编码决定内容,内容不能决定编码, 比如看见一个gbk汉字,也完全可以看成是两个ISO-8859-1字符所以mb_detect_encoding只能用猜的,既然是猜,不能完全保证正确(其实也没有绝对的正确)对file_get_contents得到的内容,如果是一个web页面,可以用meta来判断,如果没有这样的信息,只能"猜" 再有, 你可以用mb_list_encodings得到支持的编码,我这里其中根本就没有gbk/gb2312, 只有EUC-CN和CP936所以你的参数写gb2312,gbk没有意义 +1内容 -> 编码 -> 呈现内容可以指定不同的编码,然后以不同的呈现方式展现在我们眼前,乱码不乱码的是我们主观的认知,电脑无从得知究竟一长串字节到底以什么编码呈现才算所谓的"正确",所以只能是去猜,猜的结果可能正好猜中你想要的,也有可能是错误的。 关于Class的get和set方法的地方 登陆网站后台显示登录成功后 提示没有该权限 php怎么替换相同字符为自增数字 ja事件问题 session的问题 关于正则表达式, 求preg_match_all函数的用法 高分征解:怎样用PHP实现统计当前在线人数(给出源代码最好) 请教高手,弹出文件下载对话框! 64位windows2008+PHP+APACHE连接数问题 数据库连接问题 html表格边框问题
var_dump($enc);
结果是 string(6) "EUC-CN"
你把这个列表 "gb2312,gbk,utf-8" 里面的编码位置调一调看看
结果是 string(5) "CP936" 也不是想要的结果 我想让他直接告诉我 是 gb2312或utf-8等
比如看见一个gbk汉字,也完全可以看成是两个ISO-8859-1字符
所以mb_detect_encoding只能用猜的,既然是猜,不能完全保证正确(其实也没有绝对的正确)对file_get_contents得到的内容,如果是一个web页面,可以用meta来判断,
如果没有这样的信息,只能"猜"
我这里其中根本就没有gbk/gb2312, 只有EUC-CN和CP936
所以你的参数写gb2312,gbk没有意义
内容 -> 编码 -> 呈现
内容可以指定不同的编码,然后以不同的呈现方式展现在我们眼前,乱码不乱码的是我们主观的认知,电脑无从得知究竟一长串字节到底以什么编码呈现才算所谓的"正确",所以只能是去猜,猜的结果可能正好猜中你想要的,也有可能是错误的。