Java kan lagra ALL giltig Unicode-text. Den använder UTF-16 internt.
Om du konfigurerar hela datasökvägen korrekt kommer all text att bevaras. Du måste se till:
- Rätt sträng når Java (vid webbapplikationer, teckenkodning av formuläret som skickas).
- Java vet att den borde prata med databasen i UTF-8 och databasen vet att den borde förvänta sig UTF-8 genom anslutningen. Du säkerställer detta när du ställer in databasanslutningen.
- Data lagras som UTF-8 i databasen.
Observera att [dokumentationen för MySQL] påstår UTF-8 är oförmögen att lagra tecken utanför det grundläggande flerspråkiga planet (alla "normala" tecken ligger inom BMP). UTF-8 i sig är perfekt kapabel att lagra alla unicode-tecken och databasen bör också kunna koda dessa tecken.
Java i sig är bra - kom bara ihåg att några sällsynta unicode-tecken faktiskt är två tecken (kallas en surrogatpar ) i Java.