这是编码错误,请检查你的文件编码。如编码为utf-8的文件,看上去很正常,但是eclipse等ide编译失败,则原因在于该文件的是带有BOM格式的utf-8文件,你要去掉BOM头即可。
***************************************
众所周知,在跨程序的工程中,统一编码是至关重要的,而目前最普遍的则是统一采用“utf8”编码方案。
但是在采用utf8方案的时候,请注意编辑器的自作聪明。
比如editplus。
原因就在于某些编辑器会往utf8文件中添加utf8标记(editplus称其为签名),它会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。
因此要解决这个问题的关键就是把这个标记选项去掉。
首先用editplus打开这个文件,从Doucument菜单中选择Permanet Settings,有三个分类,分别是General,File, Tools.点击File,右边会有一项是 UTF-8 signature: 选择 always remove signature. 点击OK
中文版本的 editplus 下操作的菜单结构如下: 文档->参数设置->文件->UTF-8签名->总是移除签名->确定
这样就设置了UTF-8格式不需要在文件前面加标记。
最后把文件另存为utf-8格式就好了.
在UltraEdit中将文件另存为,选择“UTF-8 无BOM”的格式,这样就ok了。也可以使用转换工具,见我的csdn。
**********************************************************
UTF-8 编码的文件可以分为no BOM 和 BOM两种格式。
有bom头的存储或者字节流,它一定是unicode字符集编码。到底属于那一种(utf-8还是utf-16或是utf-32),通过头可以判断出来。
在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码
UTF-8的BOM是 EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE(Unicode-LE的BOM)
1、editplus去BOM头的方法
编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。
运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,
然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了。
2、ultraedit去除bom头办法
打开文件后,另存为选项的编码格式里选择(utf-8 无bom头),确定就ok了
********************************************
使用编码转换工具,见 :
http://guomingzhang2008.iteye.com/blog/1693599
分享到:
相关推荐
使用java解决 java: 非法字符: '\ufeff“ 问题
1. 保证SQL兼容性:非法字符可能导致SQL语句无法正确执行,影响数据库操作。 2. 提升性能:合法且规范的字段名可以提高数据库解析查询的速度。 3. 避免安全风险:某些非法字符可能被利用进行SQL注入攻击。 4. 维护...
### Java非法字符过滤器:深度解析与应用 在软件开发中,确保数据的完整性和安全性是至关重要的。尤其是在处理用户输入或外部数据源时,非法字符的过滤成为了必不可少的环节。本文将深入探讨一个Java非法字符过滤器...
1. **非法字符检测**:类会定义一个非法字符集合,如SQL关键字、特殊符号等,然后通过对比用户提交的数据,找出并替换或移除这些字符。这样可以有效防止SQL注入,因为注入的SQL语句将无法包含执行恶意操作的关键字。...
在易语言中,非法字符是指在编程过程中不被允许或者不符合语法规则的字符,这些字符可能会导致编译错误或者运行时问题。非法字符检测源码则是用于检查和识别这些非法字符的代码片段。 易语言非法字符检测通常涉及...
在Java编程中,读取文件时可能会遇到一种特殊的情况,即字符的ASCII码值为65279,它通常被视为一个空字符,但实际上并非真正的空格。这个字符被称为Unicode的Byte Order Mark (BOM),它被用作UTF-8、UTF-16等编码...
在网络安全领域,过滤用户输入的非法字符是防止跨站脚本攻击(Cross-Site Scripting,简称XSS)和防止SQL注入等恶意攻击的重要措施。本文将深入探讨标题中的两个关键类:`XssFilter.java` 和 `...
"VB 自动删除文本中的非法字符"这一主题就是针对这种情况,讨论如何在VB中编写代码来自动检测并移除这些非法字符。 非法字符通常包括但不限于控制字符、特殊符号、非ASCII字符或者超出预定义字符集的字符。在VB中,...
在上下文中,非法字符通常指的是可能导致安全问题的特殊字符,如SQL语句中的分隔符、注释符号、特殊运算符等。这些字符如果未经处理就直接用于数据库查询,可能会导致SQL注入攻击,使得攻击者能够执行恶意SQL命令。...
其他编译器的java项目导入idea时,经常出现非法字符: \65279 ,通常直接remove BOM,操作即可。但是有时非常顽固不生效。配合我的这个说明,用这个jar包,配置好了后,然后在重新remove BOM。(个人实验的是win64...
压缩包内包含 ecj-4.6.2.jar 和 Util.class两个文件 使用说明: 1. 如果你的IDEA是2017.2.2版本,那么直接把ecj-4.6.2.jar放到你的IDEA安装目录下lib文件夹中替换原文件即可 2. 如果你是其他版本的IDEA,那么用压缩...
在创建或更新表、插入数据、更新数据或执行其他数据库操作时,我们有时需要确保输入的数据不包含任何非法或特殊字符,以避免引发错误或破坏数据的完整性。本话题将深入探讨如何在Oracle存储过程中检查和处理非法字符...
这个任务的标题“非法字符和谐并输出各个字符和谐次数”指的是编写一个程序,它能够接收用户输入的字符串,将其中的非法字符替换为某种“和谐”字符(如星号(*)),同时统计并输出每个字符被替换的次数。在这个过程...
在IT领域,自动删除非法字符是一项重要的数据处理任务,它涉及到字符串操作、正则表达式、编程语言的应用等多个知识点。非法字符通常指的是那些在特定环境中不被允许或不能正常处理的字符,例如某些特殊符号、控制...
导网表非法字符转化器.转换ORCAD非法字符专用软件
1. **非法字符**:非法字符通常是指在特定环境中不应出现或可能导致错误的字符。这些字符可能包括但不限于特殊符号、SQL注入攻击常用的字符(如';'、'--'、'=')、路径遍历攻击的字符(如'../')等。在编程中,我们...
非法字符的输入可能会导致程序异常、数据损坏或安全隐患。本教程将详细讲解如何在VB2008中实现对非法字符的判断与处理,以保证程序的稳定运行。 首先,我们需要了解什么是非法字符。非法字符通常是指那些不能被程序...
在C#编程中,有时我们需要处理用户输入或者从外部数据源获取的数据,这些数据可能包含非法字符,如SQL注入攻击常用的特殊字符。为了确保数据安全和应用的正常运行,我们需要过滤掉这些非法字符。本篇文章将详细介绍...
2. **非法字符判断**:接下来,使用`Path.GetInvalidFileNameChars`方法获取所有非法字符的数组,然后使用`IndexOfAny`方法检查输入的字符串中是否包含这些非法字符。如果`IndexOfAny`返回值大于等于0,说明字符串中...
在IT领域,非法字符检测是数据处理和文本分析中的一个重要环节。这个名为“基于KDS的非法字符检测器”的项目,旨在确保输入的数据只包含英文和数字这两种合法字符,如果出现其他字符,系统将标记为非法并显示为红灯...