我正在尝试将 HTML 保存到 .html 文件中,
这是有效的:
$html_file = "output.html";
$output_string="string with characters like ã or ì";
$fileHandle = fopen($html_file, 'w') or die("file could not be accessed/created");
fwrite($fileHandle, $output_string);
fclose($fileHandle);
当我检查 output.html 文件时,我的 output_string 中的这些特殊字符没有被正确读取。
我的 HTML 文件不能有<head>
带有字符集信息的标签,这使它工作,但我的输出不能有任何<html>
,<head>
或<body>
标签。
我尝试过类似的东西
header('Content-type: text/plain; charset=utf-8');
我还在 fwrite 之前在字符串上尝试了utf8_encode(),但到目前为止没有成功。
如果我在 Notepad++ 或 Netbeans IDE 中读取 output.html 文件,它会显示正在保存的正确字符,是浏览器没有正确读取它们。
我很确定 PHP 正在使用不正确的字符集保存我的文件,因为如果我在计算机中使用这些特殊字符(即使没有任何字符集设置)创建 HTML 文件,这些都可以正确读取。