sql >> Databasteknik >  >> RDS >> Mysql

MySQL CHAR()-funktion och UTF8-utgång?

Du blandar ihop UTF-8 med Unicode.

0x00FC är Unicode kodpunkt för ü:

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

I UTF-8 kodning, 0x00FC representeras av två byte :

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

UTF-8 är bara ett sätt att koda Unicode-tecken i binär form. Det är tänkt att vara utrymmeseffektivt, vilket är anledningen till att ASCII-tecken bara tar en enda byte och iso-8859-1-tecken som ü bara tar två byte. Vissa andra tecken tar tre eller fyra byte, men de är mycket mindre vanliga.



  1. Hur man skapar Array i PostgreSQL

  2. Hur man ansluter sig till tre tabeller i Codeigniter

  3. Uppnå hierarki, förälder/barnrelation på ett effektivt och enkelt sätt

  4. Möjligt att låta PHP MYSQL-frågan ignorera tom variabel i WHERE-satsen?