小编典典
实际上,BOM是发送到浏览器的实际数据。浏览器将愉快地忽略它,但是仍然不能发送标头。
我相信问题确实出在您和您朋友的编辑器设置上。没有BOM表,朋友的编辑器可能不会自动将文件识别为UTF-8。他可以尝试设置他的编辑器,以便该编辑器 期望
文件位于UTF-8中(如果您使用NetBeans这样的真实IDE,那么甚至可以将其设置为项目设置,并随代码一起传输)。 。
另一种方法是尝试一些技巧:一些编辑器尝试根据输入的文本使用启发式方法确定编码。您可以尝试使用以下命令启动每个文件
也许启发式就能做到。可能有更好的东西放在那里,您可以用google搜索常见的哪种编码检测启发式方法,或尝试一下:-)
总而言之,我建议仅修复编辑器设置。
哦,等等,我读错了最后一部分:为了将代码传播到任何地方,我想您最安全的做法是仅使所有文件仅包含较低的7位字符(即纯ASCII),或者仅接受具有古老编辑器的某些人看到你的名字写得好笑。没有故障安全方法。由于标头已经发送,物料清单绝对不好。另一方面,只要您仅在注释中放入UTF-8字符,这样,一些编辑人员就会误解编码的唯一影响就是奇怪的字符。我会为您正确拼写您的名字并添加针对启发式的注释,以便大多数编辑者都可以使用它,但是总会有人看到假字符。
2020-05-26