为什么UTF-8在我的一个PHP文件中工作,而不是另一个?

时间:2012-08-24 17:42:44

标签: php html utf-8 character-encoding

我在PHP文件中使用<meta http-equiv="content-type" content="text/html; charset=utf-8" />来启用ąčęė...等字符。

在我的index.php文件中,HTML或PHP生成的文本看起来很好,但在另一个文件(miestai.php)中,PHP编写的文本看起来很好,但HTML编写的文本搞砸了(而不是'我得到了 ) )。

当我从该文件中删除<meta http-equiv="content-type" content="text/html; charset=utf-8" />时,HTML编写的文本看起来很好,但是PHP编写的文本搞砸了。

如何解决此问题?

注意:两个文件都在同一个文件夹中。我甚至将所有内容从index.php粘贴到miestai.php,但我仍然遇到同样的问题。

2 个答案:

答案 0 :(得分:4)

几乎总是意味着某些东西不是用UTF-8编码的,而是被解释为UTF-8。你需要一直使用UTF-8,而不仅仅是标题。将文件保存为UTF-8,将数据库设置为使用UTF-8等。

如果你的PHP文件中有这些字符串,那么这些文件不会保存在UTF-8中。如:

<?php
header("Content-Type: text/html; charset=utf-8");
echo "äöäöää"; //if this shows up as ������ this file was not saved in UTF-8

答案 1 :(得分:2)

您的脚本可能会保存为ANSI。您应该将文档保存为UTF-8而不使用BOM。除此之外。 (您应该为此转换它,您可以使用Notepad ++)