sql >> Database teknologi >  >> RDS >> PostgreSQL

Er disse tegn gyldige for XML?

tl;dr Nej, de er ikke gyldige, uanset hvad kodningen gjorde, er den enten fejlbehæftet eller fik at vide forkerte kodningsoplysninger om inputtet.

55357 og 56842 er henholdsvis 0xD83D og 0xDE0A i hex.

I Unicode er de i områder kaldet henholdsvis "Høj surrogat" og "Lavt surrogat".

Det betyder, at de ikke er det korrekte Unicode-kodepunkter, men snarere brugt i UTF-16 til at konstruere en enkelt Unicode-værdi, der ikke passer ind i 16 bit (dvs. Basic Multilingual Plane).

Disse to specifikke værdier afkoder til U+1F60A SMILENDE ANSIGT MED SMILENDE ØJNE . Den korrekte decimal HTML-entitet for det ville være 😊 .

Den mest sandsynlige årsag til dette er, at en transformation, der enten ikke kender til UTF-16 eller tanke denne tekst er ikke UTF-16 gjorde kodningen (men burde have opdaget, at disse værdier er ugyldige og rapporteret en fejl, selv i det tilfælde).




  1. Slet fra mange til mange forhold i MySQL

  2. PHP-database Ugyldigt argument angivet for foreach()

  3. Indsættelse af element i doktrin lytter

  4. Returnummer fra Oracle Select-sætning efter parsingsdato