页面返回的jsp信息全部为空(head和body里面都是空白) ,怎么解决

 我来答
缘Lai如茨
2016-04-27 · TA获得超过8630个赞
知道大有可为答主
回答量:7534
采纳率:92%
帮助的人:623万
展开全部
解决办法:设置文档编码为UTF-8 NO-BOM 即可

Unicode签名bom-什么是bom?

BOM 是 Byte Order Mark 的缩写。是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。

微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节,windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的,然而这个只是微软暗自作的标记,其它平台上并没有对UTF-8文本文件做个这样的标记。

Unicode签名bom-查看utf-8的方法

也就是说一个UTF-8文件可能有BOM,也可能没有BOM,那么怎么区分呢?

四种方法。

1,用UltraEdit-32打开文件,切换到十六进制编辑模式,察看文件头部是否有EF BB BF。

2,用Dreamweaver打开,察看页面属性,看“包括Unicode签名BOM”前面是否有个勾。

3,用Windows的记事本打开,选择“另存为”,看文件的默认编码是UTF-8还是ANSI,如果是ANSI则不带BOM。

Unicode签名bom

4:用emeditor打开,选择“另存为”,看编码下面的

添加 unicode 签名(bom)(G)是否勾选。如图:

Unicode签名bom-在php中应用时的问题和解决方案

注意用Convertz把gb2312文件转换成UTF-8文件时,默认设置是不带BOM的。不带BOM可能出现上述乱码问题,但是带BOM,对于php的include文件要小心,会在php字节流前面多出EFBBBF,提前输出到显示器有可能会带来程序错误。一个解决方案是凡是被include的文件都保存为ANSI,主文件可以是UTF-8。要想把一个文件去掉BOM,使用UlterEdit打开,切换到十六进制编辑模式,把最前面三个字节(就是那该死的EFBBBF)替换为20,保存(注意关闭保存时自动备份的功能),再切换到默认编辑模式,把最前面的三个空格去掉就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式