1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ansi php PHP – 如何使用ANSI编码保存文本文件?

ansi php PHP – 如何使用ANSI编码保存文本文件?

时间:2021-03-15 07:39:04

相关推荐

ansi php PHP – 如何使用ANSI编码保存文本文件?

我正在做:

file_put_contents("txt/myfile.txt", $fileContents);

我尝试了很多方法来强制我的文本文件是ANSI,如:

$fileContents = mb_convert_encoding($fileContents , mb_detect_encoding($fileContents , mb_detect_order(), true), 'WINDOWS-1252');

我也尝试过:

$fileContents = iconv("ISO-8859-1", "WINDOWS-1252", $fileContents );

我需要ANSI,因为当我使用MS-DOS中的“type”命令(Windows 7中的cmd.exe)打开它时,文本文件应该看起来不错

如果我打开当前文件,我可以看到UTF-8 BOM:

C:\Users\XXX>type C:\myfile.txt

´╗┐V017666999 0000000000000000535000512

如果我用记事本打开文件并应用“转换为ANSI”我得到(我需要的):

C:\Users\XXX>type C:\myfile.txt

V017666999 0000000000000000535000512

有什么办法可以解决这个问题吗?提前致谢.

(对不起,我的英语不好)

编辑:现在我知道发生了什么,文件正确创建,但下载时会添加不需要的BOM.这是问题,我只需要改变这个:

header('Content-disposition: attachment; filename='.$_GET['filename']);

header('Content-type: application/txt');

readfile($_GET['filename']);

对此(下载为二进制文件,使其保持不变):

header('Content-disposition: attachment; filename='.$_GET['filename']);

header('Content-type: application/txt');

header('Content-Transfer-Encoding: binary');

header('Content-Description: File Transfer');

header('Content-Transfer-Encoding: binary');

header('Cache-Control: must-revalidate');

ob_clean();

flush();

readfile('txt/'.$_GET['filename']);

如果您愿意,可以删除此问题,因为正在正确创建文件.如果将文件直接从服务器复制到我的电脑并使用“类型”,它看起来没问题.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。