PHP以非utf8 (Windows-1256)编码打开和保存文件


PHP Open and save files in non-utf8 (Windows-1256) encoding

我们网站上大约有5000个.htm文件。这些文件采用Windows-1256编码。我们需要在这些文件的开头添加一些javascript代码。问题是我不能打开,编辑和保存文件,因为它会导致文本格式被破坏,所以我必须将文件保存在windows-1256编码中,而不是其他任何格式。

听起来PHP以UTF-8格式保存文件。是否可以在Windows-1256中保存文件?

可能发生这种情况,因为您正在抓取windows-1256编码文件的内容并在UTF-8编码的文件中操作它。在抓取.htm文件之前设置PHP文件的内容类型

header('Content-Type: text/html; charset=windows-1256');
$html = file_get_contents('your_file.htm');