Как проверить кодировку строки в Java?

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

ТеÑÑ61 ТеÑÑовиÑ61

Он также может быть на английском или русском языке и отображаться правильно. Если имя пользователя изменяется, оно обновляется в базе данных. Даже если я изменю значение в БД, это не решит проблему.

Я могу исправить это перед сохранением, выполнив это

new String(incorrect.getBytes("ISO-8859-1"), "UTF-8");

Однако, если я буду использовать ее для строки, включающей символы на русском языке (например, & quot; & # x435; & # x441; & # x442; & # x442; 61 & # x422; & # x435; & # x441; & # x442; & # x43E; & # x432; & # x438; & # x447; 61 & quot;) Я получаю что-то вроде этого & quot; ???? 61 ???????? 61 & quot ;.

Можете ли вы предложить что-то, что может определить кодировку строки?

Ответы на вопрос(5)

Ваш ответ на вопрос