我正在为网页设计一个模板,我正在不同页面中构建模板的单独部分,这些部分都将包含在一个页面中(即leftdiv.php,maindiv.php,header.php,footer。 php等)。该网站将包含希腊字符,我正在使用utf-8编码。
现在我有leftdiv.php,其中包含希腊字符,但我遗漏了html&定义页面编码的元标记,因此,我在使用正确的编码显示页面时遇到问题,可能是因为当index.php需要leftdiv.php时,没有正确编码的元标记。 我应该在每个包含的文件上留下元标记吗?我还有其他选择吗?
答案 0 :(得分:2)
元标记并不重要。
您必须在真实 HTTP标头中设置编码,而不是在元替换中设置 因此,请按照
在PHP代码中设置编码header('Content-type: text/html; charset=utf-8');
并单独保留元标记。
我也想知道你为什么要使用这么多模板文件(leftdiv.php,header.php,footer.php等),而不是将它们全部放在一个主模板中。
答案 1 :(得分:2)
我的猜测是上传文件时出错了。尝试二进制模式(ftp),因为某些字符可能不是ascii字符。
此外;不要担心模板部分中的元标记等;当输出到浏览器时,所有部分都通过php连接并作为一个html页面发送。浏览器对您的不同部分一无所知,只看到整个画面。因此,请检查浏览器中的html源代码。如果源被正确标记,并且正确的元标记在其中,则一切都应该是正确的。要测试它,只需上传一个简单的html文件。如果有效,则将其扩展到不同的部分。
答案 2 :(得分:1)
您必须在光盘上存储UTF-8编码的文件。然后元标记没有发送额外的标题。
<meta charset="UTF-8" />
答案 3 :(得分:0)
Meta标签应仅位于页面的head部分。而页面我指的是您的Web浏览器显示的文档,而不是它背后的PHP脚本。所以不要将meta标签放在footer.php中。例如。
答案 4 :(得分:0)
如果您使用UTF-8编码保存页面header('Content-type: text/html; charset=utf-8');
,一切都会好的。
答案 5 :(得分:0)
浏览器对您的不同部分一无所知,只看到整个画面。因此,请检查浏览器中的html源代码。