gpt4 book ai didi

php - 为 fread fwrite 设置 utf-8 编码

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:32 25 4
gpt4 key购买 nike

您好,我使用此代码在文件中读取和写入文本。

$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 only= utf-8 字符中显示“?”要么 ”[]” 。我的编码 Utf-8 Without BOM我用这个

header('Content-type: text/html; charset=UTF-8');

还有这个:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

我在 php.ini 中的默认编码是 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>';

关于php - 为 fread fwrite 设置 utf-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com