现在的位置: 首页 > 综合 > 正文

自己做的android多媒体播放器在ubuntu下的同步歌词字体乱码问题

2013年08月28日 ⁄ 综合 ⁄ 共 1008字 ⁄ 字号 评论关闭

在做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时就会发现全部是中文了,解析的时候就不会出现乱码了。



【上篇】
【下篇】

抱歉!评论已关闭.