PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Normalização Unicode no Postgres


Eu acho que isso é um bug Pg.

Na minha opinião, o PostgreSQL deveria normalizar o utf-8 em uma forma pré-composta antes de realizar conversões de codificação. O resultado das conversões mostradas está errado.

Vou criá-lo no pgsql-bugs ... feito.

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

Você deve ser capaz de seguir o tópico lá.

Editar :pgsql-hackers não parece concordar, então é improvável que isso mude rapidamente. Eu recomendo fortemente que você normalize seu UTF-8 nos limites de entrada do seu aplicativo.

BTW, isso pode ser simplificado para:
regress=> SELECT 'á' = 'á';
 ?column? 
----------
 f
(1 row)

o que é pura conversa fiada, mas é permitido. O primeiro é pré-composto, o segundo não. (Para ver este resultado, você terá que copiar e colar, e só funcionará se seu navegador ou terminal não normalizar utf-8).

Se você estiver usando o Firefox, talvez não veja as informações acima corretamente; O Chrome o processa corretamente. Aqui está o que você deve ver se o seu navegador lida com Unicode decomposto corretamente: