sql >> Database >  >> RDS >> Mysql

MySQL CHAR()-functie en UTF8-uitvoer?

Je verwart UTF-8 met Unicode.

0x00FC is de Unicode codepunt voor ü:

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

In UTF-8 codering, 0x00FC wordt weergegeven door twee bytes :

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

UTF-8 is slechts een manier van codering Unicode-tekens in binaire vorm. Het is bedoeld om ruimtebesparend te zijn, daarom nemen ASCII-tekens slechts één byte in beslag, en iso-8859-1-tekens zoals ü nemen slechts twee bytes in beslag. Sommige andere karakters nemen drie of vier bytes in beslag, maar ze komen veel minder vaak voor.



  1. UTF-8 MySQL en Charset

  2. Efficiënt grote hoeveelheden gegevens invoegen met SQL

  3. Hoe SQL Server Management Studio (SSMS) te verwijderen - SQL Server/TSQL-zelfstudie, deel 23.1

  4. ORA-00054:resource bezet en ophalen met NOWAIT opgegeven of time-out verlopen