Android项目中文字乱码问题

Eclipse

如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有涉及到的的中文都是乱码;如果所有工程的编码方式与eclipse工作空间的编码方式有冲突,那么所有的工程里的中文都有可能是乱码。对于eclipse工作空间 ,Eclipse会把你改的设置保存在工作空间的设置文件中, 对于单个工程的编码方式进行修改,那么Eclipse会把编码方式保存在该工程目录下的.setting文件包内(如是拷贝的已存在的Android项目,请记得也将.setting文件包一并给Copy过来)。所以,要避免中文乱码问题就有以下两个原则:

  • 避免频繁更换工作空间,最好项目从一开始就在一个工作空间中进行,并且最好设置工作空间的编码方式为你平时最经常使用的或者是公司规定的项目编码方式,这样工程就会使用工作空间的编码方式,避免出现编码不一致的情形;
  • 相同类型的文件尽量使用相同的编码方式,可以保证相同类型的文件都能使用一致的编码设置;

解决中文乱码问题可以有以下设置方案: (1)修改工作空间的编码方式: Window->Preferences->General->Workspace->Text file Encoding 在Others里选择需要的编码方式(如没有则直接输入),然后保存。

(2)修改单个工程的编码方式: 右击工程,在弹出的菜单中选择最后一项“Properties”,在打开的新窗口左边的菜单树中选择Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。

(3)修改一类文件的编码方式: 假设要将js文件编码方式设为UTF-8,则应该Window->General->Content Types在Content Types中选择JavaScript Source File,在File associations栏中选中*.js,然后在Default Encoding栏中输入UTF-8,单击Update,保存即可。

(4)修改单个文件的编码方式: 右击要修改的文件,在弹出的菜单中选择最后一项 “Properties”,在打开的新窗口左边的菜单树中选择 Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。与修改工程编码方式的方法类似。

PS:在项目过程中遇到的另外一个乱码问题是因为操作系统的字体文件问题,在某些情况下,eclipse所使用的系统中文字体如果被破坏的话,也会导致中文无法显示的问题。所以,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题。

参考文章A 参考文章B

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业技术】在C/C++程序中打印当前函数调用栈

前几天帮同事跟踪的一个程序莫名退出,没有core dump(当然ulimit是打开的)的问题。我们知道,正常情况下,如果程序因为某种异常条件退出的话,应该会产生...

31040
来自专栏大闲人柴毛毛

Java并发编程的艺术(十二)——线程安全

1. 什么是『线程安全』? 如果一个对象构造完成后,调用者无需额外的操作,就可以在多线程环境下随意地使用,并且不发生错误,那么这个对象就是线程安全的。 2. ...

37950
来自专栏代码世界

Django之路由系统

Django的路由系统   URL配置其实就是告诉Django项目你执行代码的路径,本质就是路径和调用的视图函数之间的映射关系表。Django通过这个表,可以把...

31370
来自专栏python3

python3--基础综合测试

解释:char类型在python中不存在,它是其他编程语言的一种数据类型,比如C/C++,JAVA

16110
来自专栏GreenLeaves

SqlHelper中SqlHelperParameterCache类的用法介绍

SqlHelper类中提供了三种可以用来管理SqlParameter参数的共享方法。下面来一一讲解: 1、CacheParameterSet 将SqlParam...

244100
来自专栏技术沉淀

命令行工具:sed流式编辑

11740
来自专栏idba

浅谈 multiprocessing

一前言 使用python进行并发处理多台机器/多个实例的时候,我们可以使用threading ,但是由于著名的GIL存在,实际上threading 并...

9800
来自专栏程序员的碎碎念

ThinkPHP基础知识(三)

TP调试模式: 入口文件index.php中: define('APP_DEBUG',true); //默认为false,表示关闭...

42490
来自专栏ytkah

如何控制dedecms描述的长度?

  我们都知道调用dedecms的标题长度可以用titlelen='字符数',{dede:arclist titlelen='10'},表示标题长度为10个字符...

28560
来自专栏Linyb极客之路

jvm内存模型

JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创...

35590

扫码关注云+社区

领取腾讯云代金券