/ 中存储网

Android多媒体播放器在Ubuntu环境下的同步歌词字体乱码问题的

2015-07-13 23:17:39 来源:中存储网

在做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 正确显示中文编码文件。

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

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

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

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