`
hyl198611
  • 浏览: 228437 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java报“非法字符: \65279 ”错误的解决方法

    博客分类:
  • java
阅读更多

今天上班遇到这么一个情况:
compile:
    [javac] Compiling 134 source files to C:\JBuilder2008\workspaces\UBSS\classes
    [javac] C:\JBuilder2008\workspaces\UBSS\src\com\guanghua\framework\controller\SpringDelegate.java:1: 非法字符: \65279
    [javac] ?package com.guanghua.framework.controller;
    [javac] ^
    [javac] 1 错误

BUILD FAILED
便以失败,网上有如下帖子,可以解决。(方法一,可能因为editplus版本不对,所以失败。方法二,可以用,能够顺利解决)



众所周知,在跨程序的工程中,统一编码是至关重要的,而目前最普遍的则是统一采用“utf8”编码方案。
但是在采用utf8方案的时候,请注意编辑器的自作聪明。
比如editplus。
原因就在于某些编辑器会往utf8文件中添加utf8标记(editplus称其为签名),它会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。
因此要解决这个问题的关键就是把这个标记选项去掉。

方法有两种
a) 利用UE、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式
b) 可使用eclipse自带的编译器进行编译

因editplus的版本不同:选项不同,配置略有差异

1) 首先用editplus打开这个文件,从Doucument菜单中选择Permanet Settings,有三个分类,分别是General,File, Tools.点击File,右边会有一项是 UTF-8 signature: 选择 always remove signature. 点击OK

中文版本的 editplus 下操作的菜单结构如下: 文档->参数设置->文件->UTF-8签名->总是移除签名->确定

这样就设置了UTF-8格式不需要在文件前面加标记。
最后把文件另存为utf-8格式就好了.

2)下载editplus,打开你的java源文件(可以打开多个文件),选择“文档”-“文件编码”-“批量更改文件编码…”选择所有你需要修改的编码的java源文件,选择字符集“UTF-8″记得是UTF-8,而非“utf-8 bom”。点击批量保存按钮。
英文版是:

使用eclipse自带的编译器进行编译

转自:http://blog.163.com/minghwa_lee@126/blog/static/1305212012011814105649116/
分享到:
评论

相关推荐

    Tomcat启动时报错:java.lang.UnsatisfiedLinkError的解决

    解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错。 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击...

    关于附件上传文件名包含特殊字符的问题解决办法

    ### 关于附件上传文件名包含特殊字符的问题解决办法 #### 背景介绍 在互联网应用开发中,经常需要处理用户上传的附件。这些附件可能包括文档、图片、视频等多种类型。然而,在实际操作过程中,可能会遇到一个常见...

    mybatis 报空值异常

    这通常是因为 SQL 语句中存在非法字符,如多余的分号(`;`)。例如: ```xml select * from (select id, name, nvl(pid, '无') pid from t_resource) where pid = ?; ``` 在这个例子中,最后的分号会导致语法...

    利用hibernate+spring配置proxool连接池连接Access数据库

    proxool-0.9.1(my).jar 包是我修改了proxool-0.9.1后的jar包,修改后可以完全支持spring配置,并添加了charSet配置属性,用于配置数据库链接的设置默认字符集,并且解决了proxool数据库连接池报如下错误的问题:...

    java笔试面试题(含有笔试题,核心技术,重点知识,struts,hibernate,spring,eclipse)

    - **常见错误解决**:例如启动失败、端口冲突等问题的排查与解决方法。 以上内容涵盖了Java笔试面试题中提到的核心技术和重点知识,对于准备Java相关职位的面试者而言非常实用。理解并掌握这些知识点不仅有助于面试...

    2021-2022计算机二级等级考试试题及答案No.12986.docx

    9. 编码与解码:字符到字节序列的转换是编码,字节序列到字符的转换是解码,与题目描述相反,因此是错误的(选项错误)。 10. Java源文件与类的关系:一个源文件可以包含多个类,但只能有一个公开类(public class...

    大型软件申 报系统20161014.pdf

    在扫描结果中,报告列举了最易受攻击的文件,包括`CommonController.java`, `InController.java`, `ApplyServiceImpl.java`, `AccMapper.java`和`ApplyMapper.java`。这些文件中发现了多种类型的高、中、低风险的...

    编译原理验证

    如果源代码违反了语法规则,编译器会报出语法错误。 3. **语义分析**:在这个阶段,编译器检查代码的语义,例如类型匹配、作用域规则等。这也是`.h`文件包含进来的原因,它们提供了必要的类型信息。 4. **中间代码...

    实习生检测题

    此题要求实现一个简单的Java计算器,能处理不带括号的四则混合运算,同时要处理错误情况,如非法表达式和除数为零。这需要熟悉Java的运算符优先级和异常处理机制。对于带有括号的表达式,可能需要使用栈数据结构来...

    2021-2022计算机二级等级考试试题及答案No.9223.docx

    - **解决方法**: 为了提高数据的一致性和减少冗余,可以采用规范化过程来组织数据,确保每条数据只在数据库中存储一次,并且使用引用完整性规则来维护数据之间的关系。 ### do-while 循环 - **知识点**: `do-...

    SQL防注入式攻击源代码

    3. **错误注入**:利用数据库错误信息来获取敏感信息。 4. **时间延迟注入**:利用数据库的执行时间差异来进行探测。 #### 三、防止SQL注入的方法 1. **参数化查询**:通过预编译的方式,将参数与SQL语句分离,...

    嵌入式控制与上位机

    使用ASCII通信,MCU将数据转换为ASCII字符发送给上位机,上位机解析这些字符并显示在界面上,反之亦然。 在实际应用中,为了确保通信的稳定性和可靠性,需要关注以下几个方面: 1. **波特率和校验位**:选择合适的...

    易语言程序免安装版下载

    易语言5.1 相对于易语言5.0更新说明: ... 修改XML解析支持库,增加写出CDATA数据功能,解决解析XML时错误的丢弃换行和TAB字符的BUG,解决读取节点值时对CDATA数据进行转义处理的BUG。 20. 修改扩展界面支持库...

Global site tag (gtag.js) - Google Analytics