字母不是一个字节吗?居然乱码了

        $fn="../1.txt";   
	$handle1=fopen($fn,"r");
	$content1=fgetc($handle1);
	echo $content1."<br>";
	fclose($handle1);
	$handle2=fopen($fn,"r");
	$content2=fgets($handle2);
	echo $content2."<br>";
	fclose($handle2);

读取的是“Hello”

错过了年华
浏览 1645回答 1
1回答

qq_青枣工作室_0

我知道原因了,你的txt文件是保存为UTF-8格式的。记事本会在前面加三个字节的BOM标记符(\xEF \xBB \xBF)。你要用其它编辑器另存为UTF8-无BOM的格式,或者直接保存为ANSI(即GBK格式)。如果硬要从原来格式读取出来的话,可以跳过前面3个字节:$handle1=fopen($fn,"r"); fseek($handle1, 3);
打开App,查看更多内容
随时随地看视频慕课网APP