一共两个文件:
A,index.php文件的代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<?php 
 require("/title.php");
?>
</head><body>
...test.....
</body>
</html>B,title.php文件的代码:<?php
header(“Content-Type: text/html; charset=utf-8")
?>
<title>中文标题(beta 1.0)----Powered by Aloesky</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="../css/css.css" rel="stylesheet" type="text/css" />
<link href="../css/menu.css" rel="stylesheet" type="text/css" />
在PHP环境中测试,上文中“中文标题”这几个字变成乱码了,无论怎么声明UTF-8都无效求大神们赐教

解决方案 »

  1. 时好时坏。。在文本编辑器中看“中文标题”几个字是中文,可是到DW里面,就变成乱码了。在DW里面改好中文,然后保存,现在倒是没问题了
      

  2. 在 index.php 首行加上:header("Content-Type: text/html; charset=utf-8");
    另外,你的php文件也要是utf-8编码
      

  3. 都是UTF-8 文件的编码格式也必须一致即可.
      

  4. 把title.php 另存为UTF-8格式文件后,倒是能显示中文了,可是body头上面出现了一行空白。是不是那个著名的utf-8的BOM标签占位了?我咋在title.php里面发现不了这个BOM标签呢?
      


  5. 我原本写了这句,让HTML执行就行了,这样不行吗:
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
      

  6. 只能说你的 title.php 文件不是UTF-8编码
      

  7. 因为文件不是utf8的, 空白是BOM, 去掉。
      

  8. 楼主去下个:Notepad++非常棒的代码编辑器。要去除存在UTF-8文件中的BOM,你只需要使用NotePad++打开这个文件,然后选择“格式”,再选择“以UTF-8无BOM格式编码”,最后重新保存文件即可! 使用Notepad++去除UTF-8文件中的BOM 本文的最后,我介绍一个小经验: 当大家在碰到网页解析上(包括CSS和HTML解析)的诸多奇怪问题(比如这个由BOM导致的奇怪空白行)时,切勿急躁,首先应该确定你的代码编写无误;如果问题仍然存在,将代码提交到W3C网站 进行HTML验证 和CSS验证 ;最后根据验证结果的提示,更正自己的代码。尽量遵守W3C规范,按这个流程,一般问题都能得到解决。 W3C组织官方网站:http://validator.w3.org/
      

类似问题 »