您好我使用此代码读取和写入文件的文本。
$d = fopen("chat.txt", "r");
$content=fread($d,filesize('chat.txt'));
$bn=explode('||',$content);
foreach($bn as $bn)
echo $bn.'<br>';
和
$d = fopen("chat.txt", "a");
$c=$_GET['c'];
if($c=='') die();
fwrite($d,$c.'||');
fclose($d);
但在= IE浏览器仅= UTF-8字符秀 “?” 要么 ”[]” 。 我编码UTF-8无BOM和我用这个
header('Content-type: text/html; charset=UTF-8');
还有这个 :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
在php.ini我defult编码是UTF-8,但还没有显示? 。 我看到chat.txt文件和字符权的文件,但与IE时保存文件,当在页面展示秀“?” 而不是权利。
一边看书而不是在写使用此功能,而不是FOPEN
function utf8_fopen_read($fileName) {
$fc = iconv('windows-1250', 'utf-8', file_get_contents($fileName));
$handle=fopen("php://memory", "rw");
fwrite($handle, $fc);
fseek($handle, 0);
return $handle;
}
资源
http://www.php.net/manual/en/function.fopen.php#104325
你的情况
$d = utf8_fopen_read("chat.txt", "r");
$content=fread($d,filesize('chat.txt'));
$bn=explode('||',$content);
foreach($bn as $bn)
echo $bn.'<br>';
试试这个
$content = iconv('windows-1250', 'utf-8', file_get_contents($fileName));
$bn = mb_split('||',$content);
foreach($bn as $b)
echo $b.'<br>';
该TXT保存与UTF8编码? 你需要确保TXT编纂是utf-8,否则你将需要使用函数utf8_encode功能
您可以编码在这种情况下,你的输出字符串,$亿,使用函数utf8_encode()是这样的:
$d = fopen("chat.txt", "r");
$content=fread($d,filesize('chat.txt'));
$bn=explode('||',$content);
foreach($bn as $bn)
echo utf8_encode($bn).'<br>';
试一下,看看它是否仍然是怪异。