Android studio中出现非法字符时的部分解决方法

我将原来在Eclipse中开发的工程搬到了Android studio上来,在运行,编译程序的过程中出现了错误。提示存在非法字符。 
后来发现是由于程序代码中有中文字符的出现,问题就出在对中文支持的UTF-8编码上。 
utf-8编码分为BOM和非BOM两种格式。有bom头的存储或者字节流,它一定是unicode字符集编码。究竟属于那一种utf-8还是utf-16还是utf-32)可以通过BOM头来进行判断。在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码。UTF-8的BOM是 EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE(Unicode-LE的BOM)。 
在Eclipse中,出现有BOM的编码格式的字符它可以自动转换成非BOM格式的文档,不用进行手动的更改。但是Android studio并不支持BOM格式的编码的向非BOM格式的自动识别和转换,所以就出现了上述的问题。 
简答的解决办法就是讲出现编码错误提示的文档转化为非BOM格式编码的文档就可以了。在这里我们可以借助一个简单的编辑工具notepad++(notepad++同样不能自动转换BOM和非BOM格式的文档)来进行转换。 
找打出现编码错误的文件用notepad++打开然后打开“格式”选择“以UTF-8无BOM格式编码”之后回到Android studio就可以解决问题了。

时间: 2024-10-06 18:33:03

Android studio中出现非法字符时的部分解决方法的相关文章

关于javac编译时出现“非法字符:\65279”的解决方法

一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成.在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现"非法字符:\65279"的错误,但是用Eclipse进行编译却没有问题,原因在于Eclipse使用的是自己的JDT,而非javac,关于JDT的描述可以到eclipse的官网上去查看. 出现这种情况时,有两种解决方法: a) 利用UE.Editplus等文本编辑器重新保存文件为不带B

Java web应用中的常见字符编码问题的解决方法

以下是 Java Web应用的常见编码问题 1. html页面的编码 在web应用中,通常浏览器会根据http header: Content-type的值来决定用什么encoding, 比如遇到Content-Type: text/html; charset=UTF-8, 页面使用的就UTF-8编码. 但是考虑到离线的html(用户可能把页面html保存到本地), 打开离线的html的时候就要在meta指定编码,当然不指定也会有default值,那么不指定有时就可能出现乱码. Meta标签 <

JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)

JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原因,就是因为编码和解码过程中使用了错误的字符编码方案导致的. 首先在开头说明本人对 编码 解码 这两个概念的理解(如有错误烦请dalao指出,如有疑问也欢迎交流,感激不尽!): 首先,有一个字符串: String str="hello,编码"; 使用String类的方法getBytes(S

Android Studio 新建项目的R文件丢失的解决方法

最近Android Studio炒的比较热,于是笔者决定赶赶时髦,从Eclipse转到了Android Studio.不幸的是,用Android Studio创建项目的时候就遇到了一个比较尖锐的问题——R文件丢失,如下图. error提示为“Error:Execution failed for task ‘:app:compileDebugAidl‘.> aidl is missing” . 经过多方查阅及研究,有了一个简单明了的解决方法. 其实问题的焦点就在Build Tool 23.0.0

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

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

Android Studio里Gradle Sync同步慢问题的解决方法

Android studio更新到3.3.1,完成后,gradle sysnc一直同步,1个小时后还在转圈圈.同步慢的不能忍受. 如何解决,网上一搜,发现阿里云有镜像,只需要添加相应的url地址就可以下载.如图,在gradle scripts–>build gradle.打开该文件. buildscript { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} google() jc

android studio中配置X5 webview时的一个坑

在接入X5的第二步中,需要配置so文件,这里说一下遇到的坑 1. 需要把demo下载回来,不然你找不到so文件,找到so文件后放到自己相对应的目录下边,自己里面那个目录也没有,所以和文件夹一起复制过去吧. 2. 打开对应module中的build.gradle文件,在文件的android{}中的defaultConfig{}里(如果没有defaultConfig{}则手动添加)添加如下配置: ndk{abiFilters "armeabi"},如果你只写ndk{abiFilters &

在Android Studio中删除module

当你想在Android Studio中删除某个module时,大家习惯性的做法都是选中要删除的module,右键去找delete.但是 在Android Studio中你选中module,右键会发现没有delete,如图: 为什么会没有delete按钮,不科学啊,难道是Android Studio的bug或者设计组考虑不周.其实这边没有delete按钮主要原因是因为Android Studio对module做了一个保护机制,就是一个module你是不能随意删除的,要删除你必须得先把module从

Android Studio中常见问题汇总

当你从Eclipse切换到Android Studio(以下简称AS)的时候,我觉得正常人都会骂Google的产品经理, 但最后还是得用AS,没办法github上大多数都是用其构建的: 给程序员做一款优秀的工具真是很困难,我想所有人都不喜欢在编译环境,编辑器上浪费时间,只想专注于code: 当你从网上下一个用AS的demo时,我觉得至少有80%的可能你需要改代码才能运行, 目前我从github上down下的至少20个项目,改代码的的概率是100%,没错,是100%: 迄今为止我没有一个项目能导入