Проблема кодировки символов - PullRequest
0 голосов
/ 19 октября 2010

Я использую API, который обрабатывает мои файлы и представляет оптимизированный вывод, но некоторые специальные символы не сохраняются, например:

Ввод: äöü

Вывод: äöü

Как это исправить?Какую кодировку мне использовать?

Большое спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 19 октября 2010

Это действительно зависит от того, какую обработку вы сделали с вашими данными.Но в целом, одним из эффективных методов является преобразование его в UTF-8 с помощью Iconv, например, и передача его через ASCII-совместимый API или функции.В общем, если эти функции не связываются с данными, которые они не понимают как ASCII, то UTF-8 сохраняется - это замечательное свойство UTF-8.

0 голосов
/ 19 октября 2010

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

Итак, выВозможно, вы захотите указать, какая именно кодировка для чтения данных.Возможно, вам придется поиграть с фактической кодировкой, которую вам нужно использовать

string.getBytes("UTF-8")
string.getBytes("UTF-16")
string.getBytes("UTF-16LE")
string.getBytes("UTF-16BE") 
etc...

Кроме того, проведите некоторое исследование системы, откуда поступают эти данные.Например, веб-сервисы из ASP.NET доставляют контент как UTF-16LE, но Java использует кодировку UTF-16BE.Когда эти две системы общаются друг с другом с расширенными символами, они могут не понимать друг друга совершенно одинаково.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...