2016-08-10 2 views
2

у меня есть проблемы при кодировании в Androidподдержка Android кодирование отличается от телефонов

new ByteArrayOutputStream().write("ĐŠŽĆČđšžćč".getBytes("CP852")); 

Samsung Galaxy S6 Гурт + не имеет никаких проблем, когда эта кодировка CP852 (или любой другой по этому вопросу), а, например, Samsung Galaxy S4 бросает Неподдерживаемое исключение кодирования для CP852, CP858, CP857 и т.п., но CP1250, CP1251 и т. Д. Работают правильно.

Есть ли способ обойти эту проблему, библиотеку? CP852 требуется поддерживаемая кодировка.

Спасибо заранее!

+0

Для всех, кого это интересует: мне удалось решить проблему на всех устройствах, используя библиотеку JCharset, расширив ее с отсутствующими кодировками, свяжитесь со мной, если вам нужна помощь. –

ответ

0

Да, вы должны использовать дополнительный код для перекодирования данных Unicode в cp852. Вы можете использовать некоторую библиотеку или даже сделать это самостоятельно. Это не должно быть очень сложно. Here вы можете найти cp852 для unicode mapping.

+0

Спасибо за ваш ввод, но это только один из кодировок, используемых среди около 40 других в приложении, но кодировки в диапазоне 800, похоже, не работают на этом конкретном телефоне, и я не уверен, что это проблема Android и некоторые другие. Я не уверен, что конкретная перекодировка для CP852 решит проблему, потому что при использовании CP858 CP857 и так далее возникает тот же Unsupported Encoding Exception. –

+0

@ IgorBenić Я думаю, это решение поставщика - включить некоторые кодировки/кодовые страницы или нет. Поэтому, чтобы ваше приложение работало повсюду, вы должны использовать свои собственные кодировщики для всей интересующей вас кодировки. – Sergio

Смежные вопросы