自己做的android多媒體播放器在ubuntu下的同步歌詞字型亂碼問題

來源:互聯網
上載者:User

在做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時就會發現全部是中文了,解析的時候就不會出現亂碼了。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.