Mysql
 sql >> Database >  >> RDS >> Mysql

Java String - Recupero di caratteri di altre lingue da mysql - I dati sono completi?

Java è in grado di memorizzare TUTTO il testo Unicode valido. Utilizza UTF-16 internamente.

Se si configura correttamente l'intero percorso dati, tutto il testo verrà mantenuto. Devi assicurarti:

  • La stringa corretta raggiunge Java (in caso di applicazioni web, codifica dei caratteri del modulo inviato).
  • Java sa che dovrebbe parlare con il database in UTF-8 e il database sa che dovrebbe aspettarsi UTF-8 attraverso la connessione. Lo assicuri quando configuri la connessione al database.
  • I dati vengono archiviati come UTF-8 nel database.

Nota che [la documentazione per MySQL] afferma UTF-8 non è in grado di memorizzare caratteri al di fuori del piano multilingue di base (tutti i caratteri "normali" si trovano all'interno di BMP). Lo stesso UTF-8 è perfettamente in grado di memorizzare tutti i caratteri Unicode e il database dovrebbe essere in grado di codificare anche questi caratteri.

Java stesso va bene - ricorda solo che alcuni rari caratteri Unicode sono in realtà due caratteri (chiamati coppia surrogata ) in Java.