sql >> Base de Datos >  >> RDS >> PostgreSQL

Normalización de Unicode en Postgres

Creo que esto es un error de Pg.

En mi opinión, PostgreSQL debería normalizar utf-8 en un formato precompuesto antes de realizar conversiones de codificación. El resultado de las conversiones mostradas es incorrecto.

Lo plantearé en pgsql-bugs... hecho.

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

Deberías poder seguir el hilo allí.

Editar :pgsql-hackers no parece estar de acuerdo, por lo que es poco probable que esto cambie rápidamente. Le recomiendo encarecidamente que normalice su UTF-8 en los límites de entrada de su aplicación.

Por cierto, esto se puede simplificar a:

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

lo cual es pura locura, pero está permitido. El primero está precompuesto, el segundo no. (Para ver este resultado tendrás que copiar y pegar, y solo funcionará si tu navegador o terminal no normaliza utf-8).

Si está utilizando Firefox, es posible que no vea correctamente lo anterior; Chrome lo representa correctamente. Esto es lo que debería ver si su navegador maneja Unicode descompuesto correctamente: