Error处理: “非法字符: \65279”的解决办法

将eclipse项目转为maven项目的时候,编译时遇到 “非法字符: \65279”的报错。

出错内容是:

*.java:1: 非法字符: \65279
    [javac] package com.*.*;
    [javac] ^
    [javac] 1 错误

对于这个错误,下意识的认为是文件的第一行有隐藏字符。于是把第一行删掉重新添加上,结果依然报同样的错。

继续分析认为是文件编码格式的问题,但具体问题出在那里并没有一个明确的概念,工程使用的UTF-8编码格式。

后面上网看了,发现文件的UTF-8编码格式还是有一些不同;出错的java文件的编码格式是UTF-8 BOM格式的。其它源码的编码格式都正常。

第一种解决办法:

在windows上可以使用notepad++之类的比较好用的文本编辑器来转编码。也可以通过在eclipse中修改文件编码的方式来改了,具体如下:

先在eclipse的 project explorer中选中这个java文件,在右键菜单中选中“properties”,在弹出框中,将文件的编码“text encoding”更改为ISO-8859-1,这样,源码文件的头部的隐藏字节马上显示成乱码就出来了。把乱码删掉之后,重新将文件编码改为UTF-8即可。

第二种解决办法:

新建一class文件,将代码复制进去

原文地址:https://www.cnblogs.com/qlqwjy/p/8386130.html

时间: 2024-10-14 06:33:12

Error处理: “非法字符: \65279”的解决办法的相关文章

html页面顶部出现一段空白,检查控制台发现body 下出现&#65279字符,原因及解决办法

html页面顶部出现一段空白,检查控制台发现body 下出现&#65279字符,原因及解决办法 分析: 原来是页面编码时增加了BOM,此页面后端数据主要是PHP语言,对PHP来讲PHP在设计时没有考虑BOM问题,,不会忽略UTF-8编码的文件开头BOM的那三个字符,会把BOM作为该文件开头正文的一部分.由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码.由于在html一开头有这3个字符的存

maven编译java代码报“非法字符: \65279 ”错误的解决方法

前段时间开发一个项目,使用maven进行编译时报“非法字符: \65279 ”,但是眼睛看怎么都正确的,文件转成utf-8编码还是报错. 最后没办法,暴力解决了这个问,步骤如下 1.把文件内容复制出来,我是复制到Sublime Text2里面. 2.删除原文件. 3.创建一个新的java文件,并将复制出去的文本粘贴回来.搞定. 最后查了一下,还是很多人遇到这个问题了,而且也有人解答了产生的原因. 这篇文章解答了产生的原因,也给出了另外两种解决方法 http://blog.163.com/[ema

maven-报错非法字符:\65279 错误

开发中一个项目很早就报这个错,maven报错非法字符:\65279 错误,开发过程中偶尔会遇到,今天终于下决心要解决这个问题编译java 文件的时候,有些java文件报非法字符 \65279错误,在网上找和很多 方法,也试了很多方法,换JDK;添加maven-compiler-plugin插件,更改maven-compiler-plugin属性,更换版本;换editplus编译器;修改文件编码貌似也不靠谱(反正我修改之后还是报错~~),后来试了一个方法真的行了发现试过了上述所有方法都不可行,最终

关于npm安装全局模块,require时报Error: Cannot find module &#39;XXX&#39;的解决办法

系统环境:centos 下午使用npm安装"cheerio",想搞爬虫玩玩. npm安装有两种模式: 本地 # npm install cheerio 全局 # npm install cheerio -g 如果想要全局安装,你首先要先设置个全局路径 我在"node的安装位置/lib/node_modules/"目录下新建了文件夹node_global专门用来存放新安装的全局包 # npm config set cache "node的安装位置/lib/n

mysql导入时出现&quot;ERROR at line : Unknown command &#39;\&#39;&#39;.&quot;的解决办法

使用mysqldump -uroot -p123456 databases > /home/databases.sql 进行备份 在使用mysql -uroot -p123456 databases  < /home/databases.sql 进行mysql恢复的时候,出现如下报错. ERROR at line 79: Unknown command '\0'. 上述错误,是因为导出时字符集的问题,解决方法如下:--default-character-set=utf8 在导入时加上mysql

Fatal error: Call to undefined function imagettftext()解决办法

Fatal error: Call to undefined function imagettftext()解决办法 我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: php freestylephpcmsconfigure  问题描述:phpcms 安装后,不能看到验证码图片. 解决:确保php-gd和freestyle.而且确保是先安装了freestyle,然后是php-gd:如果是先安装了php-gd,那么在安装完freestyle后,需要make clean

[org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1064, SQLState: 42000问题的解决办法

[org.hibernate.engine.jdbc.spi.SqlExceptionHelper]SQL Error: 1064, SQLState: 42000问题的解决办法. 出现这种情况的原因可能是表中的列名和MySQL的保留关键字发生了冲突.找到冲突的字段,修改即可. 也可能是列中存在空格,比如TOTAL_  REVENUE,下划线中存在空格,以至于加载列时报错. 原文地址:https://www.cnblogs.com/heyesp/p/8295303.html

LaTeX Error: File `slashbox.sty&#39; not found. 解决办法

从这里下载对应的文件,解压后把文件放在C:\Latex\2018\texmf-dist\tex\latex 中. 再打开cmd命令窗口,输入texhash刷新! LaTeX Error: File `slashbox.sty' not found. 解决办法 原文地址:https://www.cnblogs.com/zxhyxiao/p/9356996.html

Linux中error while loading shared libraries错误解决办法

Linux中error while loading shared libraries错误解决办法 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下:当运行程序需要链接动态库时,提示找不到相关的.so库,会报错.也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去. 1.首先打开 /etc/ld.so.conf 文件 2.加入动态库文件所在