Java kan ALLE geldige Unicode-tekst opslaan. Het gebruikt intern UTF-16.
Als u het volledige gegevenspad correct configureert, blijft alle tekst behouden. U moet ervoor zorgen:
- De juiste string bereikt Java (in het geval van webapplicaties, tekencodering van het formulier dat wordt ingediend).
- Java weet dat het zou moeten praten met de database in UTF-8 en de database weet dat het UTF-8 zou moeten verwachten via de verbinding. U zorgt hiervoor bij het opzetten van de databaseverbinding.
- Gegevens worden opgeslagen als UTF-8 in de database.
Merk op dat [de documentatie voor MySQL] claims UTF-8 is niet in staat karakters op te slaan buiten het Basic Multilingual Plane (alle "normale" karakters liggen binnen BMP). UTF-8 zelf is perfect in staat om alle unicode-tekens op te slaan en de database zou deze tekens ook moeten kunnen coderen.
Java zelf is prima - onthoud alleen dat sommige zeldzame unicode-tekens eigenlijk twee tekens zijn (een surrogaatpaar ) in Java.