我在编写一些有注释的 PHP 类时遇到了一个问题。我的名字(用于 @author 标签)以 ș
结尾
(这是一个 UTF-8 字符,...很奇怪的名字,我知道)。
即使我将文件保存为 UTF-8,一些朋友报告说他们看到那个字符被完全搞砸了(È™
)。通过添加 BOM 签名,这个问题就会消失。但这让我有点困扰,因为我对它并不是那么了解,除了我在维基百科和一些其他类似的SO问题上看到的东西。
我知道它在文件开头添加了一些内容,从我理解的来看,这并不是什么大问题,但我担心的是,我所读到的唯一有问题的场景都涉及 PHP 文件。由于我正在编写 PHP 类来共享它们,所以要想保持 100% 的兼容性比在注释中使用我的名字更重要。
但我试图理解这种情况的影响,我应该毫不担忧地使用它吗?还是有可能会造成损害的情况?什么时候会出现这种情况呢?
<?php die('test')
时,文件顶部显示UTF-8 BOM(这些字符:
)。很难找出原因。后来我发现其中一位开发人员将文件保存为Unicode而不是ASCII,因此PHP无法读取Unicode PHP文件。我开始了一个新的副本,复制数据并保存为ASCII,问题得到解决。请注意,如果您遇到此类问题,则某些FTP程序可能会对您造成影响。 - Volomikeiconv -f utf8 -t ascii old.php > new.php
命令来检测所有Unicode问题,将其删除,并最终以ASCII格式保存页面,以避免iconv命令中的错误。完成后,我注意到会话变量在页面之间保持状态。 - Volomike