Java je schopna uložit VŠECHNY platný text Unicode. Interně používá UTF-16.
Pokud správně nakonfigurujete celou datovou cestu, veškerý text bude zachován. Musíte zajistit:
- Správný řetězec dosáhne jazyka Java (v případě webových aplikací kódování znaků odesílaného formuláře).
- Java ví, že by měla s databází mluvit v UTF-8 a databáze ví, že by měla prostřednictvím připojení očekávat UTF-8. To zajistíte při nastavování připojení k databázi.
- Data jsou v databázi uložena jako UTF-8.
Všimněte si, že [dokumentace k MySQL] tvrdí UTF-8 není schopno ukládat znaky mimo základní vícejazyčnou rovinu (všechny "normální" znaky leží v BMP). Samotné UTF-8 je dokonale schopné uložit všechny znaky Unicode a databáze by měla být schopna tyto znaky také zakódovat.
Java samotná je v pořádku – jen si pamatujte, že některé vzácné unicode znaky jsou ve skutečnosti dva znaky (nazývané náhradní pár ) v Javě.