Jak sprawdzić zestaw znaków ciągu w Javie?
W mojej aplikacji otrzymuję informacje o użytkowniku z LDAP i czasami pełna nazwa użytkownika pojawia się w niewłaściwym zestawie znaków. Na przykład:
ТеÑÑ61 ТеÑÑовиÑ61
Może być również w języku angielskim lub rosyjskim i wyświetlane poprawnie. Jeśli nazwa użytkownika zmieni się, zostanie zaktualizowana w bazie danych. Nawet jeśli zmienię wartość w db nie rozwiąże to problemu.
Mogę to naprawić przed zapisaniem, robiąc to
new String(incorrect.getBytes("ISO-8859-1"), "UTF-8");
Jeśli jednak użyję go dla ciągu zawierającego znaki w języku rosyjskim (np. „Тест61 Тестович61”), otrzymam coś takiego „???? 61 ???????? 61”.
Czy możesz zaproponować coś, co może określić zestaw znaków ciągu?