Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Função MySQL CHAR () e saída UTF8?


Você está confundindo UTF-8 com Unicode.

0x00FC é o Unicode ponto de código para ü:
mysql> select char(0x00FC using ucs2);
+----------------------+
| char(0x00FC using ucs2) |
+----------------------+
| ü                   | 
+----------------------+

Em UTF-8 codificação, 0x00FC é representado por dois bytes :
mysql> select char(0xC3BC using utf8);
+-------------------------+
| char(0xC3BC using utf8) |
+-------------------------+
| ü                      | 
+-------------------------+

UTF-8 é apenas uma forma de codificação Caracteres Unicode em formato binário. Ele deve ser eficiente em termos de espaço, e é por isso que os caracteres ASCII ocupam apenas um byte e os caracteres iso-8859-1, como ü, ocupam apenas dois bytes. Alguns outros caracteres ocupam três ou quatro bytes, mas são muito menos comuns.