PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Нормализация на Unicode в Postgres

Мисля, че това е грешка в Pg.

По мое мнение PostgreSQL трябва да нормализира utf-8 в предварително съставена форма, преди да извърши конвертиране на кодиране. Резултатът от показаните реализации е грешен.

Ще го повдигна на pgsql-bugs ... готово.

http://www.postgresql.org/message-id/example @sqldat.com

Трябва да можете да следвате нишката там.

Редактиране :pgsql-hackers изглежда не е съгласен, така че това е малко вероятно да се промени набързо. Горещо ви съветвам да нормализирате вашия UTF-8 в границите на входа на вашето приложение.

Между другото, това може да се опрости до:

regress=> SELECT 'á' = 'á';
 ?column? 
----------
 f
(1 row)

което е обикновена лудост, но е позволено. Първото е предварително съставено, второто не е. (За да видите този резултат, ще трябва да копирате и поставите и това ще работи само ако браузърът или терминалът ви не нормализират utf-8).

Ако използвате Firefox, може да не видите горното правилно; Chrome го изобразява правилно. Ето какво трябва да видите, ако вашият браузър обработва правилно декомпозиран Unicode:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при свързване при свързване към PostgreSQL като потребител на postgres?

  2. SELECT .. INTO за създаване на таблица в PL/pgSQL

  3. групиране на всеки N стойности

  4. ГРЕШКА:допълнителни данни след последната очаквана колона при използване на PostgreSQL COPY

  5. Как да премахнете връщане на карета и нови редове в Postgresql?