不推荐用记事本编辑.php文件,因其保留BOM、无法识别语法、易破坏UTF-8编码且无代码辅助功能;中文乱码因默认ANSI编码读取UTF-8文件所致,应另存为UTF-8(无BOM)或改用VS Code等专业编辑器。
能,但不推荐直接用记事本编辑 .php 文件——它会保留 BOM、无法识别语法、容易破坏 UTF-8 编码,且不支持自动缩进和括号匹配。
这是最常见问题:记事本默认用 ANSI(通常是 GBK)读取文件,而 PHP 源码普遍是 UTF-8 无 BOM 编码。
file -i yourfile.php(Linux/macOS)或用 xxd yourfile.php | head 查看前几个字节是否含 ef bb bf(即 BOM)记事本会在保存时偷偷插入不可见字符,尤其是 Windows 换行符 \r\n 和 BOM 头,PHP 解析器对这些极其敏感。
前不能有任何输出(包括空格、\r、\n、BOM),否则触发「Headers already sent」错误EF BB BF 会被当成输出内容\r\n 粘贴进 Linux 服务器环境)可能让 shell_exec() 或 CLI 脚本行为异常只读查看可以,但修改务必谨慎。以下操作能降低风险:
i
conv -f utf-8 -t utf-8//IGNORE yourfile.php 测试是否含非法字节php -l yourfile.php(PHP 语法检查)验证是否合法Parse error: syntax error, unexpected ' '
是文件第一个字符
真正麻烦的不是打不开,而是改完之后运行时报错却找不到原因——那些看不见的字符,往往要靠 hexdump -C 或 od -x 才能揪出来。