`

编码为 UTF-8 的JSP 文件中出现非法字符  问题

 
阅读更多
在项目开发中曾经碰到过一个奇怪的现象:在用 include 包含JSP 文件时发现最终生成的页面上会有多余的空白行,导致页面往下挪一行,使用goole浏览器发现,源代码中有个不能显示的字符&#65279,在查了一些文章后发现问题出在编辑器上。之前不知道使用什么编辑工具在保存 JSP 文件为 UTF-8 编码,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。因此解决办法就是将代码保存的时候将 BOM 前面的勾去掉。

发现问题的测试代码:
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

http://www.sxrczx.com/docs/js/2288372.html#itself
---------------------
<%@ 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>



最终生成的页面代码如下:
---------------------


&#65279;

<div>hehe</div>
<table>
<tr><td>testing</td></tr>
</table>
&#65279;

<div>haha</div>
分享到:
评论

相关推荐

    如何将编码转换为UTF-8

    1. UTF-8 编码的重要性:在 WEB 开发中,UTF-8 编码扮演着非常重要的角色,特别是在传递中文时,必须经过编码的动作,否则可能会出现乱码的情况。 2. 使用 URLEncoder.encode() 方法:在 Java 中,可以使用 java...

    jsp引入pdf文档

    - **`new String(...)`**:将获取到的路径字符串从ISO-8859-1编码转换为UTF-8编码,以避免乱码问题。 - **`FileInputStream`** 和 **`DataInputStream`**:用于从文件中读取数据。 - **`response.getOutputStream()`...

    jsp开发ueditor smartUpload上传文件测试样例

    - 在接收文件时,服务器端需要正确设置字符编码,例如在Servlet中使用`request.setCharacterEncoding("UTF-8")`来设定请求的编码。 - 存储文件时,确保文件名和内容都被正确编码和解码。 5. **JSP集成ueditor** ...

    java+jsp+servlet 文件下载

    上述代码中,使用`new String(fileName.getBytes("utf-8"), "iso-8859-1")`来解决这一问题。 - **文件安全问题**:在实际应用中需要注意文件的安全性问题,例如避免用户通过修改URL参数的方式访问非法文件。可以通过...

    jsp 过滤器中文乱码的处理

    为了解决这个问题,我们可以在每个JSP页面中使用`request.setCharacterEncoding("GBK")`或`request.setCharacterEncoding("UTF-8")`来设定请求的字符编码,确保与服务器期望的字符集一致。 除了逐个页面设置,更...

    Java程序调试与错误收集--代码引起的报错

    **描述:** 在处理中文或特殊字符时,如果页面或平台没有设置正确的编码方式(如未设置JSP页面的pageEncoding为utf-8),可能会导致乱码或信息显示不全的问题。 **解决办法:** - 设置JSP页面的`pageEncoding`属性为`...

    (完整word版)Web应用开发规范.doc

    - `.java`, `.jsp`, `.css`, `.js`等文件也应使用UTF-8编码,其他类型的文件建议也遵循此规则,可通过`Window-&gt;Preferences-&gt;General-&gt;Content Types`设置Java源文件的默认编码为UTF-8。 2. **目录结构规范** - ...

    利用JSP+Servlet+JavaBean实现用户管理系统中的照片上传

    charset=UTF-8" pageEncoding="UTF-8"%&gt;`指令定义了页面的基本属性,包括语言环境、内容类型及编码格式,确保中文字符的正常显示。 页面中嵌入了JavaScript代码用于客户端验证,确保上传文件的合法性。例如,`check...

    java实现下载例子

    在`toUtf8String()`方法中,代码将字符串从GBK编码转换为UTF-8编码。这是为了确保非ASCII字符(如中文字符)在HTTP响应中能正确表示。当文件名包含非ASCII字符时,使用`getBytes()`和`Character.toString()`方法将其...

    jsp过滤器开发

    charset=UTF-8")`,确保请求参数和响应内容都以UTF-8编码。 4. **其他应用场景** - **认证与授权**:过滤器可以用于用户身份验证,例如检查用户是否已登录,未登录则重定向至登录页面。 - **日志记录**:记录请求...

    注册,登录及验证模块(适合初学者)

    在Servlet中,可以设置请求编码为UTF-8: ```java request.setCharacterEncoding("UTF-8"); ``` 同时,确保JSP页面头部指定正确的字符集: ```jsp ;charset=UTF-8" language="java" %&gt; ``` **防SQL注入** SQL...

    flex导出csv文件

    8. **错误处理**:确保在处理过程中添加适当的错误处理,例如检查数据是否为空,字段值是否包含非法字符,以及在文件下载过程中可能出现的问题。 9. **性能优化**:对于大数据量的表格,一次性转换和写入所有数据...

    java编码规范

    - 字符集:确保所有文件使用相同的字符集,通常推荐使用UTF-8。 - 编码一致性:保持前端和后端编码的一致性,避免乱码问题。 #### 八、日志和调试信息 **8.1 为什么要使用调试信息和日志** - 调试信息:帮助...

    JSP聊天程序

    在JSP聊天程序中,通常需要设置合适的字符编码,如在HTML页面中使用`&lt;meta charset="UTF-8"&gt;`,在JSP文件中使用`;charset=UTF-8" %&gt;`,并在服务器和数据库配置中确保一致的字符编码,以保证中文数据的正确显示和存储...

    web.xml详解

    &lt;?xml version="1.0" encoding="UTF-8"?&gt; ``` 此处的`version`属性指定了XML的版本,`encoding`属性则指定了文件的字符编码格式。 ##### DOCTYPE声明 紧接着XML头之后的是`DOCTYPE`声明。这个声明告诉服务器当前...

    js下载文件的实现方法一.pdf

    String filenamedisplay = URLEncoder.encode(filedisplay, "UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + filenamedisplay); try { RequestDispatcher dis = application....

    android上传图片至服务器.pdf

    在服务器端,可以使用`getBytes("UTF-8")`来处理非ASCII字符。 8. **响应处理**: - 服务器端在处理完上传后,可以通过`response.sendRedirect`重定向到另一个页面(如`result.jsp`),并传递一些参数(如`text1`...

    xml.rar jsp

    - **声明(Declaration)**:XML文档开头的`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`,定义了文档的版本和编码。 2. **JSP与XML的交互** - **JSP表达式(Expression)**:使用`${expression}`将Java表达式的值...

    javajsp实现了js验证表单

    页面编码设置为 UTF-8。 - **HTML 结构**:页面包含了一个简单的表单,表单中有多个文本输入框和一个提交按钮。 #### 总结 本文介绍了一个简单的 Java JSP 页面上的 JavaScript 表单验证示例。通过使用 ...

    淘特站内搜索引擎(C#版)

    考虑到本软件使用的utf-8编码,某些语言如asp,php,有可能在get提交数据时使用的gb2312编码,如果不进行gb2312对utf-8的转换将会出现乱码现象,另外get方法提交数据也会有数据传输长度限制的问题,因此索引接口我们...

Global site tag (gtag.js) - Google Analytics