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

Normalizacja Unicode w Postgres

Myślę, że to błąd Pg.

Moim zdaniem PostgreSQL powinien normalizować utf-8 do postaci wstępnie skomponowanej przed wykonaniem konwersji kodowania. Przedstawione wyniki konwersji są nieprawidłowe.

Podniosę to na pgsql-bugs ... gotowe.

http://www.postgresql.org/identyfikator-wiadomości/przykład @sqldat.com

Powinieneś być w stanie śledzić tam wątek.

Edytuj :pgsql-hackers najwyraźniej się nie zgadzają, więc jest mało prawdopodobne, by zmieniło się to w pośpiechu. Zdecydowanie radzę znormalizować kod UTF-8 na granicach wejściowych aplikacji.

BTW, można to uprościć do:

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

co jest zwykłym szaleństwem, ale jest dozwolone. Pierwsza jest z góry skomponowana, druga nie. (Aby zobaczyć ten wynik, musisz skopiować i wkleić, a to zadziała tylko wtedy, gdy Twoja przeglądarka lub terminal nie znormalizują utf-8).

Jeśli używasz Firefoksa, możesz nie widzieć poprawnie powyższego; Chrome renderuje to poprawnie. Oto, co powinieneś zobaczyć, jeśli Twoja przeglądarka poprawnie obsługuje rozłożony kod 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. Który CMS powinien być używany do budowy strony internetowej przy użyciu PostreSQL, czy może użyć najnowszego WordPressa?

  2. PostgreSQL błędna konwersja ze znacznika czasu bez strefy czasowej na znacznik czasu ze strefą czasową

  3. sails.js Zapytanie Blueprint według relacji

  4. SQL Server 2012:Dodaj połączony serwer do PostgreSQL

  5. Hibernate nie tworzy tabeli w bazie danych