PHP:包含的文件有错误的编码

时间:2012-09-05 13:01:07

标签: php character-encoding include

我最近遇到的奇怪问题。 我开发了一个简单的php网站引擎。所有可能的编码配置都已正确设置(<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>和apache虚拟主机位,因此内容类型http标头是正确的)。 那怎么了? 访问的php文件中的所有内容(例如index.php)都正常显示。 但是外部文件中包含的内容显示为问号。 enter image description here

见?中间框架是由index.php生成的,没关系,但顶部菜单栏是由包含文件生成的。如果我将菜单栏例程移到index.php它也看起来不错。

2 个答案:

答案 0 :(得分:0)

如果它适用于生产环境,则可能是服务器配置错误。

首先,尝试检索生产环境中包含的文件,以检查问题是否来自此处。它可能确实是一个编码问题。确保以UTF-8编码(理想情况下没有BOM)。 Notepad ++具有将文件从编码转换为另一种文件的功能。

其次,尝试添加(如果尚未完成:如果它正确地发送HTTP头,它应该已经在这里)以下行到Apache配置:

AddDefaultCharset utf-8

不要忘记重启Apache服务器。

让我们知道它是否有效。 :)

答案 1 :(得分:0)

  1. 在Windows笔记本中打开文件
  2. 将文件类型更改为所有文件类型
  3. 将编码更改为UTF-8
  4. 保存文件
  5. 再试一次! :O)