Perché MySQL non predefinito in UTF-8?

June 2

Con MySQL, ci sono due possibili set di caratteri disponibili per i dati da memorizzare in. Questi set di caratteri Unicode riflettono la quantità di dati che vengono memorizzati per carattere nel database MySQL. Il set di caratteri a tre byte UTF-8 Unicode codifica (UTF-8) è comunemente riconosciuto, ma non è il set di caratteri per MySQL.

Quali sono set di caratteri?

set di caratteri sono insiemi di standard che contengono tutti i tasti della tastiera di input disponibili. Il primo set di caratteri ASCII popolare ha funzionato bene per la lingua inglese, ma, come le altre nazioni hanno iniziato ad usare i computer e le esigenze diversificate, sono stati richiesti nuovi set di caratteri. UCS-2 e UTF-8 sono entrambi i set di caratteri in grado di inserimento dei dati da quasi qualsiasi tastiera in tutto il mondo.

UCS-2 codifica Unicode (UCS-2)

UCS-2 è un set di caratteri che utilizza 16 bit per carattere, sostenendo il Multilingual Plane Base (BMP). In confronto, ASCII utilizzato un solo byte. I valori di bit di codice compresi tra 0 e 65535 e, in UCS-2, può essere codificato in una parola fissa 16-bit.

Tre-Byte Unicode UTF-8 codifica

Con UTF-8, lo stesso set di caratteri e bit-codice gamma è usato come UCS-2, ma utilizza solo tra uno a tre byte per carattere. Mentre UCS-2 può essere codificato in una parola fissa a 16 bit, UTF-8 codifica a uno a 8, 16 o 24 bit. UTF-8 è un nuovo standard di UCS-2.

Perché di default di MySQL a UCS-2

MySQL è un molto vecchia applicazione di database e la sua creazione ha preceduto la realizzazione di massa di UTF-8. Pertanto, MySQL ha sempre favorito UCS-2, che è adatto per la maggior parte delle implementazioni di database. Se si desidera utilizzare UTF-8, invece, è possibile farlo modificando le impostazioni del database.