什么是WordPress文件编码?

时间:2013-06-08 作者:Paul

我注意到WordPress文件使用UNIX终端和UTF-8,没有BOM表。这是应该使用的标准吗?还有什么需要注意的吗?

我注意到Filezilla无法将Macintosh终端文件正确传输到Windows或Linux服务器。缺少新行结尾。有时它们会以不同的配置加倍。如果可能的话,我想避免这种情况。

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

UNIX行结束符(\\n) UTF-8只是常见的代码标准。据我所知,他们甚至没有在Coding Standards. 大多数(全部?)核心PHP文件只是普通的US-ASCII文件。尝试遵循该路径以尽可能保持文件的兼容性。

如果使用UTF-8,请在PHP文件的开头添加一行Encoding Cookie or file variable:

<?php # -*- coding: utf-8 -*-
许多编辑器(Emacs、Vim、Sublime、Scite)将使用它自动设置正确的编码。

我还看到:

<?php # -*- coding: utf-8-unix -*-
但我不确定它是否兼容。

SO网友:Otto

PHP本身并不关心在PHP代码部分中使用DOS还是UNIX风格的行尾,因为它只是忽略了空格,所以不管怎样,这两种行尾都会被忽略。

PHP解释器不知道文件中是否存在字节顺序标记,因此在PHP文件的开头有一个BOM表将导致在执行PHP文件时输出该BOM表。这通常是不可取的,因此PHP文件通常不能包含BOM表。

PHP文件不关心编码,它们只产生大多数情况下给定的输出,因此PHP部分之外的任何内容都可以或多或少是任何内容,包括所有PHP关心的直接二进制输出。为了实现最大的兼容性和可移植性,建议使用不带BOM的UTF-8。

WordPress使用Unix样式的行尾作为首选项,但是不会检查提交给插件存储库的文件中是否有一种样式。随便你用。将检查提交到主题存储库的文件是否有混合的行尾,这意味着文件中同时包含Unix和DOS样式的行尾。当使用某些Mac编辑器复制和粘贴代码时,经常会发生这种情况。这些混合行结尾可能会导致Subversion存储库中出现问题,因此主题上载程序将拒绝具有混合行结尾的文件。插件作者可以直接访问他们的SVN存储库,当他们自己上传混合文件时,SVN也会出现类似的失败。

结束

相关推荐

Encoding Method for URLs?

WordPress是否有一种编码URL的方法或API,类似于在URL中使用标题时生成部分URL的方式?我正在编写一个生成URL的插件,并希望使用与其他所有插件相同的方法。例如,我在标题中键入“这是我的博客文章”,然后生成“这是我的博客文章”。