如何在 PHP 中设置文本文件编码(例如 UTF-8)?
让我告诉你我的问题。这是我的代码:
<?php
file_put_contents('test.txt', $data); // data is some non-English text with UTF-8 charset
?>
Output: اÙ
!
fwrite()
具有类似的输出。
但是当我创建test.txt
通过记事本并设置字符集UTF-8输出就是我想要的。
我想在 PHP 文件中设置字符集。
现在这是我的问题:如何通过 PHP 设置文本文件编码?
PHP 在文件中存储文本时不应用编码:它完全按照字符串中的布局存储数据。
您提到您在打开文件时遇到问题notepad.exe
。该文本编辑器不太擅长猜测您正在打开的文件的编码;如果文本以 UTF-8 编码,您必须选择以 UTF-8 格式打开它。如果可能,请使用其他文本编辑器。记事本++ http://notepad-plus-plus.org/是一个流行的替代品。
如果你必须使用notepad.exe
,作为最后的手段,写一个字节顺序标记 http://en.wikipedia.org/wiki/Byte_order_mark在写入任何其他内容之前先写入文件;这将使它将该文件识别为 UTF-8,同时可能使该文件无法用于其他目的(有关详细信息,请参阅维基百科文章)。
file_put_contents("file.txt", "\xEF\xBB\xBF" . $data);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)