2011-12-19 2 views
1

Когда я использую функцию extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE).MediaMetadataRetriever extractMetadata string encoding

Некоторые из возвращенных строк отображаются неправильно.

т.е.

Кристина Пери - Тысяча лет

отображается как

䌀 栀 爀 椀 猀 琀 椀 渀 愀 倀 攀 爀 爀 椀 ა 䄀 吀 栀漀 甀 猀 愀 渀 搀 夀 攀 愀 爀 猀

Есть ли у кого-нибудь советы о том, как я могу правильно отобразить строку?

ответ

1

Я не имею ни малейшего представления о Android, но есть две возможности

  1. Вы читаете это правильно, и кто-то использовал это символы при хранении данных.

  2. Вы получаете неправильные символы, потому что текст, который вы получаете, был сохранен в другом экземпляре, чем вы используете для его отображения. В этом случае вам нужно указать Java, в которой кодируется эта строка.

Хорошее начало читать о кодировках это blog

Java tutorial for working with text

+0

Да, вы 100% право это делать с кодировкой. Я сдался, пытаясь понять, почему MediaMetadataRetriever имеет проблемы и переключается на MyD3 с открытым исходным кодом, который отлично работает. http://www.fightingquaker.com/myid3/ – Cairo