PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy te znaki są prawidłowe dla XML?

tl;dr Nie, nie są prawidłowe, cokolwiek zostało kodowane, jest albo błędne, albo podano błędne informacje o kodowaniu dotyczące danych wejściowych.

55357 i 56842 to odpowiednio 0xD83D i 0xDE0A w systemie szesnastkowym.

W Unicode znajdują się one w zakresach nazwanych odpowiednio „Wysoki zastępczy” i „Niski zastępczy”.

Oznacza to, że nie właściwe punkty kodowe Unicode, ale raczej używane w UTF-16 do konstruowania pojedynczej wartości Unicode, która nie pasuje do 16 bitów (tj. Basic Multilingual Plane).

Te dwie konkretne wartości dekodują U+1F60A UŚMIECHNIĘTA TWARZ Z UŚMIECHNIĘTYMI OCZAMI . Prawidłowa dziesiętna jednostka HTML to 😊 .

Najbardziej prawdopodobnym powodem jest to, że jakaś transformacja, która albo nie wie o UTF-16, albo myśle ten tekst nie jest kodowany w UTF-16 (ale powinien był wykryć, że te wartości są nieprawidłowe i zgłosić błąd nawet w takim przypadku).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego pg_restore zwraca pomyślnie, ale w rzeczywistości nie przywraca mojej bazy danych?

  2. Zezwalaj tylko na role listy użytkowników postgres

  3. Jak korzystać z przygotowanych wyciągów z Postgresem

  4. Django Postgres ArrayField a relacja jeden-do-wielu

  5. 7 najlepszych wskazówek dotyczących zbiorczego ładowania danych PostgreSQL