设置字符集并转换为不带 bom 的 utf-8


Set character set and convert to utf-8 without bom

当我使用 $file = fopen($destination,'r'); 读取文件时,一切正常,但是如果我的文件有西里尔文、希腊文等字母,那么字母就像 ΟÎ1/2οÎ1/4οÎ1/4αι Όλιι ÎšÎ¿Ï ÎšÎ¿Ï...Î ̄Î1/2。在Notepad++中,您可以通过Encoding-->Character Sets-->Greek-->Windows-1253然后Encoding-->Convert to UTF-8 without BOM来执行此操作。我如何在 php 中做到这一点?

PHP 没有任何字符编码的概念;字符串是二进制数据。使一切似乎都有效的技巧是将输出设备(无论是网页还是终端)设置为正确的字符编码。

如果要生成网页,则可以发送内容类型标头以告知浏览器页面的编码方式。

header("Content-type: text/html;charset=utf-8");