Java jest w stanie przechowywać WSZYSTKI poprawny tekst Unicode. Używa wewnętrznie UTF-16.
Jeśli poprawnie skonfigurujesz całą ścieżkę danych, cały tekst zostanie zachowany. Musisz upewnić się, że:
- Właściwy ciąg dociera do Javy (w przypadku aplikacji internetowych, kodowanie znaków w przesyłanym formularzu).
- Java wie, że powinna komunikować się z bazą danych w UTF-8, a baza danych wie, że powinna oczekiwać UTF-8 przez połączenie. Zapewniasz to podczas konfigurowania połączenia z bazą danych.
- Dane są przechowywane w bazie danych jako UTF-8.
Zauważ, że [dokumentacja MySQL] roszczenia UTF-8 nie jest w stanie przechowywać znaków poza Basic Multilingual Plane (wszystkie „normalne” znaki leżą w BMP). Sam UTF-8 doskonale nadaje się do przechowywania wszystkich znaków Unicode, a baza danych powinna również być w stanie zakodować te znaki.
Sama Java jest w porządku - pamiętaj tylko, że niektóre rzadkie znaki Unicode to w rzeczywistości dwa znaki (zwane para zastępcza ) w Javie.