PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Unicode-Normalisierung in Postgres

Ich denke, das ist ein Pg-Bug.

Meiner Meinung nach sollte PostgreSQL utf-8 in vorkomponierte Form normalisieren, bevor Codierungskonvertierungen durchgeführt werden. Das Ergebnis der angezeigten Konvertierungen ist falsch.

Ich werde es auf pgsql-bugs heben ... fertig.

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

Sie sollten den Thread dort verfolgen können.

Bearbeiten :pgsql-hackers scheint nicht einverstanden zu sein, daher ist es unwahrscheinlich, dass sich dies so schnell ändert. Ich rate Ihnen dringend, Ihr UTF-8 an den Eingabegrenzen Ihrer Anwendung zu normalisieren.

Übrigens kann dies vereinfacht werden zu:

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

das ist reines Geschwätz, aber erlaubt. Das erste ist vorgefertigt, das zweite nicht. (Um dieses Ergebnis zu sehen, müssen Sie kopieren und einfügen, und es funktioniert nur, wenn Ihr Browser oder Terminal utf-8 nicht normalisiert).

Wenn Sie Firefox verwenden, sehen Sie das obige möglicherweise nicht richtig; Chrome gibt es korrekt wieder. Folgendes sollten Sie sehen, wenn Ihr Browser zerlegtes Unicode korrekt verarbeitet: