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

MySQL CHAR()-funktion og UTF8-output?

Du forveksler UTF-8 med Unicode.

0x00FC er Unicode kodepunkt for ü:

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

I UTF-8 kodning, 0x00FC er repræsenteret af to bytes :

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

UTF-8 er blot en måde at kodning på Unicode-tegn i binær form. Det er beregnet til at være pladsbesparende, hvorfor ASCII-tegn kun tager en enkelt byte, og iso-8859-1-tegn såsom ü kun tager to bytes. Nogle andre tegn tager tre eller fire bytes, men de er meget mindre almindelige.



  1. Konverter SQL datoformat? [dd.mm.åå til ÅÅÅÅ-MM-DD]

  2. Tilføj unik begrænsning til kombination af to kolonner

  3. Du ved, du vil:Migrere fra Oracle til MariaDB

  4. Opdel kommasepareret streng og indsæt til en tabel (int)