我需要提供一个纯文本文件供下载.文本文件需要采用UTF-8编码,并且需要存在BOM.我将我的php文件保存为UTF-8而没有BOM,并发送以下标题:
header('HTTP/1.1 200 OK');
header('Content-Type: text/plain; charset=utf-8');
header('Content-Disposition: attachment; filename="test.txt"');
我保存脚本没有BOM,因为它会干扰发送标题.
所以我尝试通过以下方式手动放置BOM:
echo chr(239).chr(187).chr(191);
然后我把我的文字拿出来.如果没有手动BOM,记事本之类的编辑器会将文件识别为ANSI编码,使用假定的手动BOM,它将被识别为UTF-8,但将包含以下字符:

在开始时.所以我假设通过启发式方法检测到它是UTF-8,我的手册BOM是错误的.
我该怎么做?
编辑:HEX内容按要求.我简单地将文字写成“SOME TEXT”,然后我得到:
C3 AF C2 BB C2 BF 53 4F 4D 45 20 54 45 58 54
将“SOME TEXT”保存为带有BOM的UTF-8产量:
EF BB BF 53 4F 4D 45 20 54 45 58 54