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

Unicode (hexadecimale) bogstaver i MySQL

Du kan angive hexadecimale bogstaver (eller endda binære bogstaver ) ved hjælp af 0x , x'' eller X'' :

select  0xC2A2;
select x'C2A2';
select X'C2A2';

Men vær opmærksom at returtypen er en binær streng, så hver eneste byte betragtes som et tegn. Du kan bekræfte dette med char_length :

select char_length(0xC2A2)

Hvis du ønsker UTF-8 strenge i stedet, skal du bruge konverter :

select convert(0xC2A2 using utf8mb4)

Og vi kan se, at C2 A2 betragtes som 1 tegn i UTF-8:

select char_length(convert(0xC2A2 using utf8mb4))

Du behøver heller ikke bekymre dig om ugyldige bytes, fordi konverter vil fjerne dem automatisk:

select char_length(convert(0xC1A2 using utf8mb4))

Som det kan ses, er outputtet 0 fordi C1 A2 er en ugyldig UTF-8-bytesekvens.



  1. Få resultater mellem to datoer i PostgreSQL

  2. Indsættelse af data i Oracle-database ved hjælp af php

  3. 500 intern serverfejl?

  4. Registrering af låste borde (låst af LOCK TABLE)