sql >> Databáze >  >> RDS >> PostgreSQL

Jsou tyto znaky platné pro XML?

tl;dr Ne, nejsou platné, ať už kódování udělalo cokoliv, je buď chybné, nebo mu byly sděleny špatné informace o kódování na vstupu.

55357 a 56842 jsou 0xD83D a 0xDE0A v hexu.

V Unicode jsou v rozsahu nazvaném „High Surrogate“ a „Low Surrogate“.

To znamená, že nejsou správné kódové body Unicode, ale spíše se používají v UTF-16 k vytvoření jedné hodnoty Unicode, která se nevejde do 16bitové (tj. základní vícejazyčné roviny).

Tyto dvě konkrétní hodnoty se dekódují na U+1F60A USMÍVAJÍCÍ SE TVÁŘ S USMĚJÍCÍM OČIMA . Správná desítková entita HTML pro to bude 😊 .

Nejpravděpodobnějším důvodem je to, že nějaká transformace, která o UTF-16 buď neví, nebo si myslí tento text není UTF-16 provedl kódování (ale měl zjistit, že tyto hodnoty jsou neplatné a hlásit chybu i v takovém případě).




  1. Migrace databáze MySQL z Amazon RDS do DigitalOcean

  2. Relační vs nerelační databáze:Jaký je rozdíl?

  3. potřeba vrátit dvě sady dat se dvěma různými klauzulemi where

  4. mysql_real_escape více než jednou