本来我的页面是<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
,转换成<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,并将原本的PHP程序另存为utf-8格式后。每次在表单提交数据后,第二页被提交的页面就会多出一行空行出来,有时在整个面页的最上方,有的在表与表的内表头上。CSS字体设置
<style type="text/css">
<!--
.text9 {  font-size: 8pt; font-family: "Verdana", "Helvetica", "sans-serif"}
-->
</style>不过CSS设置怎么改也没用。感觉就是提交后,整个页面下降了一格,或是表格内的表格下降了一格,真是奇怪,请问这个怎么处理???原本GB2312的时候一切正常。

解决方案 »

  1.   

    而且很奇怪的一点就是有句$SQL="select top 10 * from sqldata",居然要使用$SQL=iconv("utf-8","gbk","select top 10 * from sqldata"),这样子提交才能正常运行,我试过将提交页的select top 10 * from sqldata整串复制到查询分析器中,居然出错,select这个字串显示黑色,将select删除掉再重新打上就显示蓝色,能正常运行,还真怪。
    我在是提交页显示$SQL再复制到MSSQL的查询分析器去了。
      

  2.   

    程序中我没做过标签,并且存成无ROM的格式问题也一样存在。
      

  3.   

    不过执行的页面后用源码看再另存为ANSI时,发现有空行的地方就有??号,所以感觉这应应文件类型转utf-8的问题,但我用UE将程序另存为utf-8无ROM也是一样的结果...
      

  4.   

    在网上找到这么一篇:PHP在设计时就没有考虑BOM的问题,也就是说他不会忽略UTF-8编码的文件开头BOM的那三个字符。由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以这三个字符将会直接输出。如果插件的文件有这个问题,将会导致在后台页面里激活或者不激活插件后显示白屏,如果是模版文件有这个问题,将会导致这三个字符直接输出,造成页面上方有一个小空行。国外的英文插件和模版一般都是用的ASCII码的编码方式,不会有BOM,只有国内的插件和模版会由于作者的不知情造成问题。还有,大家修改模版的时候,由于输出页面使用UTF-8编码,那么修改模版的时候如果有加入中文字符的话,必须把文件转成UTF-8编码才能正常显示,这个时候如果所使用的编辑器自动加上了BOM的话,将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码。不过为什么我存为无ROM也会这样呢?而且出现空行的地方居然是我放PHP程序代码的那个位置才会出现。