Problem z kodowaniem liter

Problem z kodowaniem liter
BA
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 15 lat
0

Witam wszystkich i proszę o pomoc

Mój problem jest następujący: W swoim programie wykorzystuje Hibernate i mam problem z odczytywaniem polskich znaków z bazy. Kodowanie wszystkich stringów w bazie ustawiłem na utf8, gdyż myślałem, że to rozwiąże problem kodowania ale nie pomogło nadal większość polskich liter jest odczytywanych jako "krzaki".

Z góry dziękuję za pomoc.

JA
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 2 lata
  • Postów:308
0

Próbowałeś wysłać zapytanie "SET NAMES utf8" do bazy zaraz po podłączeniu?

BA
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 15 lat
0

Nie, ale jak to zrobić jako zapytanie query?

JA
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 2 lata
  • Postów:308
0

Tak wysłać zwykłe zapytanie SQL zaraz po podłączeniu do bazy.

BA
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 15 lat
0

Nie bardzo wychodzi chyba Hibernate nie uznaje tego polecenia. Zrobiłem tak:

Kopiuj
            Query q1 = session.createSQLQuery("SET NAMES utf8");
            q1.executeUpdate();

i dostaje sqlException "Token unknown NAMES". Jak wyślę do bazy bezpośrodenio te zapytanie to je baza przyjmuje więc musi je obsługiwać ale z poziomu javy nie wychodzi.

JA
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 2 lata
  • Postów:308
0

Baza to MySQL?
Spróbuj użyć zamiast executeUpdate samego execute.
Łącząc się z bazą jaki podajesz identyfikator?
Spróbuj tak:

Kopiuj
"jdbc:mysql://serwer/baza?characterEncoding=utf8"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.