Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Atual »

OcorrênciaOcorrências de falhas de comportamentos diferenciados em funcionalidades comuns e suportadas pelos demais Bancos de Dados homologados têm como causa comum um uso inadequado da configuração de codificação de caracteres na ODBC – client_encoding –  e parâmetros de criação do Banco de Dados. 
Implementação

A partir da build atual, o DBAccess passa a definir a codificação padrão da conexão entre DBAccess e o PostgreSQL para WIN1252 – que contempla a tabela de caracteres usada pelo Protheus nas plataformas Windows e Linux. Caso seja necessário alterar a codificação para outro codepage -- como por exemplo o Cirílico – especificamos formalmente no arquivo de configuração do DBAccess, na seção de configuração do ambiente/DSN, a chave CODEPAGE=xxx, onde xxx pode ser WIN1252 ou WIN1251

Informações adicionais
  • Referente ao chamado: DBTEC-811
  • Disponível em builds iguais ou superiores a 18.x.x.x
  • A criação de um Banco de Dados no PostgreSQL usando LC_CTYPE ( Character Type) = "C" (ou Posix) não atende aos cenários de uso de campos caractere acentuados na base de dados, em funções de conversão e comparação como "lower" e "upper". Para atender ao comportamento esperado e correto das funções de conversão de caracteres do SGDB, o LC_CTYPE utilizado deve ser 'pt_BR.CP1252'  ou 'Portuguese_Brazil.1252' para Windows, para instâncias do SGDB instalada no Linux e Windows, respectivamente. 
  • O uso destes Character Types não é compatível com a criação do SGDB usando ENCODING=LATIN1, mas sim usando ENCODING=WIN1252. A documentação sobre Collation x Charset x Encoding foi atualizada – vide link DBAccess - Character Set x Encoding x Collation
  • Os parâmetros de Encoding, Collation e Character Type de um banco Postgres não são alteráveis. 
  • Sem rótulos