On 07-10-2011 11:21, Marcelo Silva (IG) wrote: > Pessoal, peço desculpas por trazer mais uma vez esse assunto a lista, mas vira > e mexe temos esse problema com acentos na lingua portuguesa. > Segundo a necessidade da empresa eu preciso gravar os dados exatamentes como > são, por exemplo Maiusculas e Minusculas nos nomes e afins, > caracteres especiais e acentos como são na lingua portuguesa mesmo. > Estou trabalhando com banco UTF-8 pois de inicio como sou novo no PG acabei > criando assim... > Você leu a discussão [1]? Durante o PGBR 2011, vou responder sobre essas questões durante o meu tutorial porque sei que isso é uma dúvida recorrente na lista mas até lá...
> A base foi criada assim: > CREATE DATABASE teste > WITH OWNER = postgres > ENCODING = 'LATIN1' > TABLESPACE = pg_default > LC_COLLATE = 'C' > LC_CTYPE = 'C' > CONNECTION LIMIT = -1; > Não use LC_* = C porque a ordenação não é a esperada no português do Brasil. > Sendo que foi criada em Latin1 ele não deveria ignorar os acentos e caracteres > especiais e até mesmo Maiuscula e Minuscula? Não. Veja que LATIN1 != C. Esta última (ASCII) deve ser evitada [2] como codificação de caracteres (aka encoding). > Será que foi porque eu restaurei UTF8 para LATIN1 ? Não. > Existe uma forma mais simples para se trabalhar com acentos no postgres ou o > metodo é esse mesmo? > Dependendo de quão sofisticada é a sua busca, você pode utilizar diversos métodos desde busca textual (tsearch) até expressões regulares. Ainda *não* há um collation que ignore maiúsculas/minúsculas e acentos. [1] http://listas.postgresql.org.br/pipermail/pgbr-geral/2011-September/026844.html [2] http://www.postgresql.org/docs/current/static/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral