PHP项目的文件编码

PHP项目的文件编码,php,html,unicode,encoding,Php,Html,Unicode,Encoding,我正在开发一个用HTML5编写的php项目。以下是我的网站中所有页面使用的元数据 <meta charset="utf-8"> 我正在使用NetBeans在windows机器上编码。我真的不知道文件的编码。由于代码运行良好,因此我没有对此给予重视 然而,基于stackoverflow中的一些问题,我可以了解更多关于编码的内容。我注意到我的项目中的许多php/js/css文件是以UTF-8编码保存的,而一些php/js/css文件是以ANSI编码保存的。(为了理解这一点,我在记

我正在开发一个用HTML5编写的php项目。以下是我的网站中所有页面使用的元数据

<meta charset="utf-8"> 

我正在使用NetBeans在windows机器上编码。我真的不知道文件的编码。由于代码运行良好,因此我没有对此给予重视

然而,基于stackoverflow中的一些问题,我可以了解更多关于编码的内容。我注意到我的项目中的许多php/js/css文件是以UTF-8编码保存的,而一些php/js/css文件是以ANSI编码保存的。(为了理解这一点,我在记事本中打开了文件,单击“另存为”,并检查了显示的默认编码)

我粘贴一些unicode字符的文件似乎是自动保存在UTF-8中的,而所有其他文件都是以ANSI编码保存的(我猜可能是Windows-1252)。即使我在netbeans中将项目首选项设置为UTF-8,所有这些都发生了

是否需要将这些文件(不使用unicode的文件)也保存到UTF-8,因为我的html元数据显示为UTF-8?(请注意,当我测试我的网站时没有问题,但我的测试是在windows机器上进行的)

我也很想知道,尽管一些php文件是用ANSI保存的,但使用meta UTF-8,浏览器是如何正确呈现网页的

(为了理解这一点,我在记事本中打开了文件,单击“另存为”,并检查了显示的默认编码)

这不是检查文件编码的准确方法


只包含ASCII字符的文件——像大多数CSS和Javascript源文件一样在大多数文本编码中有效。记事本会称它们为“ANSI”,因为这是它的默认值,但它们作为UTF-8也是完全有效的。不需要转换。

这是否意味着,仅包含ASCII字符的文件在UTF-8和ANSI中是相同的?谢谢您的回答。得到这个“只包含ASCII字符的UTF-8文件与ASCII文件相同”()。但是我很惊讶为什么文本编辑器仍然为这些文件显示编码选项(使用ansi、uft8等)。记事本方法是这里选择的答案@Kiran Correct。大多数常用文本编码(包括UTF-8和ANSI)之间的差异只有在文件包含非ASCII字符时才会发挥作用。