Przeczytaj tę odpowiedź . Niezależnie od tego, że koncentruje się na SQL Developer, zawiera informacje o dostrajaniu sterownika JDBC i wskazuje, jak prawidłowo obsługiwać typy znaków Unicode w Oracle.
Aktualizacja
Problemy z wyświetlaniem znaków na kliencie mogą być spowodowane nieprawidłowym NLS_LANG
ustawienia na kliencie bazy danych (w Twoim przypadku Tomcat). W przypadku cienkiego sterownika JDBC wartość NLS_LANG uzyskana z ustawień języka Java.
W przypadku możliwych wariantów możesz przejrzeć odpowiedzi na to pytanie
i sprawdź dokumentację Oracle
.
Jeśli prawdziwym źródłem problemu jest zestaw znaków połączenia z bazą danych Oracle, to są tylko dwa możliwe punkty końcowe do sprawdzenia:NLS_LANG
i oracle.jdbc.defaultNChar
. Musisz więc sprawdzić, czy oba są prawidłowo ustawione, aby dowiedzieć się, co się stało.