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

Funzione MySQL CHAR() e output UTF8?

Stai confondendo UTF-8 con Unicode.

0x00FC è l'Unicode punto di codice per ü:

mysql> select char(0x00FC using ucs2);
+----------------------+
| char(0x00FC using ucs2) |
+----------------------+
| ü                   | 
+----------------------+

In UTF-8 codifica, 0x00FC è rappresentato da due byte :

mysql> select char(0xC3BC using utf8);
+-------------------------+
| char(0xC3BC using utf8) |
+-------------------------+
| ü                      | 
+-------------------------+

UTF-8 è semplicemente un modo per codificare Caratteri Unicode in formato binario. È pensato per essere efficiente in termini di spazio, motivo per cui i caratteri ASCII richiedono solo un byte e i caratteri iso-8859-1 come ü richiedono solo due byte. Alcuni altri caratteri richiedono tre o quattro byte, ma sono molto meno comuni.