在做android多媒体播放器的时候,加入了同步显示歌词的功能。由于歌词是直接在网上down的,并且是中文的。所以编码格式为GBK,GB18030等中文字符编码格式。在ubuntu下显示的是乱码.将这些LRC push进sd卡进行解析时,也会出现乱码。


以下是解决方法:

1.配置gedit的编码列表,下面摘自ubuntu官网上的一篇文章:

缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB2312 等类型的中文编码文本文件时,将会出现乱码。

出现这种情况的原因是,gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。

  • 命令行方式,适用于所有 Ubuntu 用户。

复制以下命令到终端中,然后回车即可:

gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"

  • 图形化方式,适用于 Ubuntu 用户,而不适用于 KUbuntu/XUbuntu 用户。

您可以遵循以下步骤,使您的 gedit 正确显示中文编码文件。

  1. 按下 Alt-F2,打开“运行应用程序”对话框。
  2. 在文本框中键入“gconf-editor”,并按下回车键,打开“配置编辑器”。
  3. 展开左边的树节点,找到 /apps/gedit-2/preferences/encodings 节点并单击它。
  4. 双击右边的 auto_detected 键,打开“编辑键”对话框。
  5. 单击列表右边的“添加”按钮,输入“GB18030”,单击确定按钮。
  6. 列表的最底部新增加了一个“GB18030”。单击选中它,并单击右边的 “向上” 按钮直到 “GB18030” 位于列表的顶部为止。
  7. 单击确定按钮,关闭配置编辑器。

现在,您的 gedit 应该能够顺利打开 GB18030 编码的文本文件了。


2.将网上下载下来的歌词,一般是以asp格式结尾的。将其以lrc为后缀,歌曲名称为前缀重新命名。然后以UTF-8编码,行尾为Unix/Linux格式存储。(这点很重要,因为android的默认编码是UTF-8).

这样在android shell中cat file时就会发现全部是中文了,解析的时候就不会出现乱码了。



更多相关文章

  1. Android应用开发提高系列(1)――《Practical Java 中文版》读书笔
  2. 关于android编码问题-URL中文编码-Activity中文编码与.java编码
  3. Android(安卓)触屏事件 (单击,双击,滑动)
  4. Android(安卓)studio文件编码格式怎么快速切换?
  5. 关于解决 AVD的中文路径出现的问题和更改avd的默认路径
  6. Android(安卓)Camera增加自定义图像处理并录制MP4
  7. 【开源项目推荐】Android(安卓)Jetpack 官方文档 中文翻译
  8. 使用MediaCodec实现H264编码「第四章,Android音视频编码那点破事
  9. 丢掉龟速的java媒体库,通过Lame实现Android录音同时转换为mp3格式

随机推荐

  1. Android使用NIO开发客户端
  2. android Ongoing
  3. Android(安卓)无障碍辅助功能Accessibili
  4. android jpush 极光推送
  5. Android: Example wpa_supplicant config
  6. Android(安卓)systrace
  7. Android(安卓)- under the hood
  8. Android(安卓)实现发送短信demo
  9. android上传文件到服务器
  10. Android官方文档翻译 三 1.1Creating an