sql >> Databasteknik >  >> RDS >> PostgreSQL

Är dessa tecken giltiga för XML?

tl;dr Nej, de är inte giltiga, vad kodningen än gjorde var antingen buggig eller fick fel kodningsinformation om inmatningen.

55357 och 56842 är 0xD83D och 0xDE0A i hex respektive.

I Unicode finns de i intervall som kallas "Hög surrogat" respektive "Låg surrogat".

Det betyder att de inte är det korrekta Unicode-kodpunkter, utan snarare används i UTF-16 för att konstruera ett enda Unicode-värde som inte passar in i 16-bitars (d.v.s. Basic Multilingual Plane).

Dessa två specifika värden avkodas till U+1F60A LEENDE ANSIKTE MED LEENDE ÖGON . Rätt decimal HTML-entitet för det skulle vara 😊 .

Den mest troliga anledningen till detta är att någon transformation som antingen inte känner till UTF-16 eller tanke denna text är inte UTF-16 gjorde kodningen (men borde ha upptäckt att dessa värden är ogiltiga och rapporterade ett fel även i det fallet).




  1. Hur man skapar en fråga i Drupal 8

  2. Vad ska man ersätta mysql_result med för MySQLi

  3. Upptäck om ett datum är i sommartid i MySql

  4. Det effektivaste sättet att få tabellrader