08-08
04
编码为 UTF-8 的JSP 文件中出现非法字符 问题
作者:Java伴侣 日期:2008-08-04
在用 include 包含JSP 文件时发现最终生成的页面上会有多余的空白行,源代码中有个不能显示的字符,在查了一些文章后发现问题出在编辑器上。之前我用 Editplus 2.11 保存 JSP 文件为 UTF-8 编码,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。因此解决办法就是将代码保存的时候将 BOM 前面的勾去掉。可以用 EmEditor , Editplus 2.21 来保存。
表示 "ZERO WIDTH NO-BREAK SPACE",更详细的请见
http://www.fileformat.info/info/unicode/char/feff/index.htm
发现问题的测试代码:
test.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ include file="1.jsp" %>
<table>
<tr><td>testing</td></tr>
</table>
<%@ include file="2.jsp" %>
1.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<div>hehe</div>
2.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<div>haha</div>
最终生成的页面代码如下:
---------------------
<div>hehe</div>
<table>
<tr><td>testing</td></tr>
</table>
<div>haha</div>
另一种办法,传到服务器上,用cuteftppro打开编辑,去掉BOM,我就是这么干的,无聊不
表示 "ZERO WIDTH NO-BREAK SPACE",更详细的请见
http://www.fileformat.info/info/unicode/char/feff/index.htm
发现问题的测试代码:
test.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ include file="1.jsp" %>
<table>
<tr><td>testing</td></tr>
</table>
<%@ include file="2.jsp" %>
1.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<div>hehe</div>
2.jsp
---------------------
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=utf-8" %>
<div>haha</div>
最终生成的页面代码如下:
---------------------
<div>hehe</div>
<table>
<tr><td>testing</td></tr>
</table>
<div>haha</div>
另一种办法,传到服务器上,用cuteftppro打开编辑,去掉BOM,我就是这么干的,无聊不
评论: 0 | 引用: 0 | 查看次数: 654
发表评论