文档章节

如何解决Android客户端工程编码转换问题

天堂之镜
 天堂之镜
发布于 2015/02/12 20:15
字数 832
阅读 71
收藏 0

    一、场景描述:

    有一个Android工程或一个Java工程,工程的编码为GBK。此工程中的部分文件编码是GBK,另外部分文件的编码是UTF-8,现在要求将工程的编码设置为UTF-8,工程内所有文件统一为UTF-8编码,并且不产生乱码问题。

    二、可选方案:

    1.网上任意找一个所谓的转换工具。

    利:简单;快速;

    弊:不可控(二次危害);稳定性无法保证;无法保证所有文件全部转换成功;无法保证不产生乱码问题;

    2.手工处理。

    利:简单;有保证;

    弊:成本高;周期长;研究成果无法重复利用;

    3.利用网上已有Java小程序,修改之后使用。

    利:研究成果可重复利用,可批量处理;有较高保证(这个保证以优良的Java小程序为前提);

    弊:研究较复杂;小程序需要反复调试和测试,研究完成之后,还需要独立的将此小程序保存;仅研究者自己熟悉,不便于他人熟悉和学习;

    4.利用Linux下的Shell命令。

    利:批量处理;成熟稳定;速度也有保证;简单(几条命令的事);

    弊:不易上手;一般人不知道这些命令;无法轻松的让这些串连起来成一个脚本,为自己所用(哈哈,我就是这样);不跨平台;

    5.利用VIM的批处理命令。

    利:非常简单;成熟稳定;结果有保证;批量处理;灵活;

    弊:难以想到他的相关命令;难以将他的相关命令运用自如;

    三、方案选择:

    选择方案5:利用VIM的批处理命令

    选择理由:

    1.找到了他的相关命令

    2.简单

    3.稳定

    4.灵活

    5.跨平台

    6.软件轻松可得

    7.批量

    8.本人之前就对VIM比较熟悉

    9.args命令之前就使用过

    四、具体流程:

    1.下载一个最新版的VIM编辑器,并安装

    2.找到你JAVA工程的资源目录

    3.在资源目录的根目录创建一个“test.txt”文本文件(Linux下,无需这一步)

    4.使用VIM打开此文本文件

    5.在进入VIM的命令模式(默认,刚打开便进入的命令模式。如果你不小心进行了编辑模式,可以使用Esc键返回命令模式。<其实能进入VIM编辑模式的人,必然知道如何退出编辑模式>)

    6.输入args命令。比如,你需要处理当前目录,以及当前目录的所有子目录下的所有java文件,你可以输入   :args **/*.java

,那txt文件呢?当然是 :args **/*.txt了。依此类推。多种类型或文件可以使用空格分隔。

    7.输入argdo命令。比如,你需要将使用args命令打开的所有文件的编码设置为UTF-8,你可以输入  :argdo set fenc=utf-8 | update,或输入  :argdo set fileencoding=utf-8 | update ,那需要变为gbk呢?你可以输入 :argdo set fenc=cp936  | update ,同样,其它编码都可以设置。

    8.最后wq退出。

© 著作权归作者所有

共有 人打赏支持
天堂之镜
粉丝 5
博文 6
码字总数 5734
作品 0
长沙
高级程序员
手机淘宝Android客户端架构

手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人提交...

fneg
2015/07/04
0
8
Flutter新锐专家之路:工程研发体系篇

作者:闲鱼技术-正物 写在前面 当前,闲鱼客户端已经实现了基于Flutter的商品详情页的全量重构,线上效果良好。从alpha一路走来,我们遇到了很多问题,或基于原理,或透过社区,或与官方合作...

闲鱼技术
08/06
0
0
JavaDoc不显示 &Android中HttpGet和HttpPost &JSONObject

这几天试着解决的问题有以下几个: 1)开发Android的时候打开Eclipse ADT将鼠标移到基础类的方法上时,不能显示方法的具体信息,方法解释。起初不知道这是工具Eclipse的问题,还是Android的问...

FK339232727
2014/01/17
0
0
Android studio如何导入已有的eclipse工程

google最近新推出了android studio软件来取代eclipse,使用起来确实体验很不错,比eclipse要强大一些,不过,现在包括github上面的代码都是基于eclipse的,因此,我们大部分的工作可能不会新...

古沐风
2014/01/12
0
0
android 向服务端发送请求编码问题

今天开发客户端时发送请求遇到了问题,经过一下午的时间终于解决(其实一句话就可以)。如果哪位朋友也遇到这样问题可以看下面的解决方法。 客户端:android 2.2 服务端:asp.net 遇到问题:...

壹尘子
2012/02/08
0
1

没有更多内容

加载失败,请刷新页面

加载更多

防止快速重复点击的两种思维

防止重复执行的两种思维 场景 下单时,提交按钮,因为网络卡顿或者手快重复点击,导致重复提交订单; 微博,更新个人状态或发表评论时,快速多次点击[发送]按钮,导致相同的信息发送多次. 解决思路 ...

黄威
27分钟前
0
0
在windows环境下使用Virtualbox虚拟Debian系统来运行Docker

标题绕口。 我之前一直使用 Virtualbox 和 homestead 来运行我的 PHP 开发环境。最近决心开始尝试 DevOps,使得开发、部署容器化,来化解人为操作失误和环境不兼容等问题造成的各种损失。就打...

zgldh
29分钟前
0
0
python map()

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(利用生成器的原理,并不马上返回值,...

南桥北木
43分钟前
0
0
分享几个 SpringBoot 实用的小技巧

前言 最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。 算不上多高大上...

Java干货分享
43分钟前
2
0
day123-20181021-英语流利阅读-待学习

这款新字体,比记忆面包还管用 Lala 2018-10-21 1.今日导读 字体能跟学习效果有什么关系?你还别说,来自澳洲的心理学家和设计师们,还真创造了一款号称能够帮助大家记忆信息、增强学习效果的...

飞鱼说编程
55分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部