php file_get_contents最后2个参数如何理解??

直接上代码吧,有如下几种情况,读取的文件test.txt的内容,test.txt内容就是一句中文字符串:一点滴水啊

$homepage = file_get_contents('test.txt');
$homepage = mb_convert_encoding($homepage, "UTF-8","GBK"); //编码转换为utf-8防止乱码
echo $homepage;
输出结果:一点滴水啊

现在修改第一句代码,其他不变
$homepage = file_get_contents('test.txt',NULL,NULL,0,1); //结果什么都没有
$homepage = file_get_contents('test.txt',NULL,NULL,0,2); //结果是:一
$homepage = file_get_contents('test.txt',NULL,NULL,0,3); //结果是:一
$homepage = file_get_contents('test.txt',NULL,NULL,0,4); //结果是:一点
$homepage = file_get_contents('test.txt',NULL,NULL,0,5); //结果是:一点
$homepage = file_get_contents('test.txt',NULL,NULL,0,6); //结果是:一点滴

现在迷惑的是最后2个参数的意义是什么?怎么出来的结果是一头雾水?如果是英文字符串我理解的,最后一个参数是长度还是字节数?在我的代码下貌似不管是长度还是字节数(中文在utf8下是3个字节,而且已经确定我的编码是utf8的)都对应不上结果.

阅读 2.3k
1 个回答
已经确定我的编码是utf8

。。。。

mb_convert_encoding($homepage, "UTF-8","GBK")

是将编码从GBK转成UTF-8,转换后正常输出,说明原先编码绝不是UTF-8

下面才是UTF-8的输出结果

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题