As aplicações , principalmente rotinas legadas, que acessam os bancos de dados relacionais através do  requerem para o funcionamento que sejam respeitados a tabela de caracteres suportada, sua comparação e ordenação (comportamento legado):

  • Tabela de caracteres suportada: CP1252/Windows-1252 – Tabela de caracteres padrão do Windows que contempla os caracteres acentuados de idiomas latinos.
  • Ordenação e comparação: Binary Order (ordenação binária) – ordem crescente de acordo com o valor dos bytes de cada caractere.

Para atender essa necessidade, a instância e/ou o banco de dados deve ser criado e/ou configurado de acordo com as definições a seguir:


Banco de DadosCollationCharacter TypeCode Set/Encoding
IBM DB2
IDENTITY
n/a
1252
IBM Informix
(default = code-set)
n/a
EN_US.CP1252
Microsoft SQL
Latin1_General_BIN
n/a
n/a
MySQL
latin1_bin
n/a
n/a
ORACLE
n/a
n/a
WE8MSWIN1252
PostgreSQL
C

*.CP1252 e/ou *.1252

WIN1252
  • Character set ou CharSet é um conjunto de símbolos e códigos.
  • Collation é o conjunto de informações e regras que descreve a comparação e ordenação dos caracteres de um de um character set.
  • Encoding é a forma que o o banco de dados armazena os campos caracteres (CHAR/VARCHAR).

(informação) Alguns bancos de dados agregam ao collation as definições do character type, code set e o encoding


Ao utilizar um banco de dados PostgreSQL instale e configure os parâmetros LC_COLLATE (collation), LC_CTYPE (character type) e ENCODING, conforme relacionado na tabela Banco de Dados, Collation, Character Type e Code Set/Encoding.

Quando utilizado o encoding LATIN1 – diferente do encoding indicado na tabela Banco de Dados, Collation, Character Type e Code Set/Encoding, funções do banco de dados que manipulam caracteres – por exemplo lower()/upper(), não suportam/tratam caracteres acentuados. Exemplo:

SQL> select upper('acentuação'), lower('ACENTUAÇÃO')
+----------+----------+
|column1   |column2   |
+----------+----------+
|ACENTUAçãO|acentuaÇÃo|
+----------+----------+

Em ambiente Linux, a utilização do PostgreSQL exige a instalação do codepage CP1252 para a localização pt_BR, para ser possível criar o Database com os parâmetros recomendados.