Português

Instrução: Ler e gravar arquivos shapefile e dBASE codificados em várias páginas de código

Summary

A Esri implementou uma funcionalidade de 'CONVERSÃO DA PÁGINA DE CÓDIGO' em aplicativos ArcGIS Desktop (ArcMap, ArcCatalog e ArcGIS Pro) que permite que os aplicativos Desktop leiam e gravem arquivos shapefile e dBASE codificados em várias páginas de código. A funcionalidade de conversão de página de código para arquivos dBASE (denominada "dbfDefault") é ativada especificando um valor de página de código no registro do sistema.Uma referência a uma página de código está incluída no cabeçalho do arquivo DBF. A página de código padrão em um shapefile (.DBF) é definida como UTF-8 (UNICODE). Este é o padrão para as práticas de internacionalização atuais.

 

FAQs

O que a configuração dbfDefault faz?

Ao definir um valor de página de código no registro do sistema, os usuários podem ler e gravar arquivos shapefile e dBASE codificados nessa página de código. Por exemplo, podem exportar um shapefile codificado em OEM definindo o valor do registro da página de código como OEM. Os usuários também podem ler arquivos shapefiles e dBASE que não têm informações da página de código armazenadas, desde que saibam em qual página de código o arquivo está codificado.

Por que definir como dbfDefault?
Ao abrir um shapefile e um arquivo dBASE no ArcMap, ArcCatalog e ArcGIS Pro, os aplicativos olham para o Language Driver ID (LDID) no cabeçalho de um arquivo dBASE, ou um arquivo *.CPG associado, que são ambos usados para definir a página de código e ajuda a determinar a página de código do arquivo que é lido. Com base nas informações da página de código que recupera, o ArcGIS Desktop exibe as strings adequadamente executando uma conversão da página de código, se necessário. Se um dBASE não tiver uma LDID ou um arquivo .CPG, ele assumirá que o arquivo está codificado na página de código do Windows (ANSI/Multi-byte).

Se os programas de Desktop lerem um arquivo dBASE codificado em OEM, mas esse arquivo não contiver informações da página de código ou não apresentar uma LDID ou um arquivo .CPG, os caracteres não serão exibidos corretamente. Isso ocorre porque os programas de Desktop assumem que o arquivo está codificado na página de código ANSI, pois ele não encontrou informações da página de código, embora na verdade tenha sido codificado em OEM. Isso significa que o ArcGIS trata o arquivo OEM como codificado em ANSI, o que causa uma exibição incorreta dos caracteres de 8 bits armazenados no arquivo.

A maioria dos arquivos shapefiles e dBASE tem informações da página de códigos armazenadas no arquivo. Alguns programas, como o Microsoft Access e Excel, codificam arquivos dBASE em OEM, mas não incluem as informações da página de códigos no LDID. Portanto, o ArcGIS não lê os arquivos corretamente. Para evitar esse problema, os usuários podem definir o dbfDefault na página de código apropriada antes de abrir um arquivo que não tem informações da página de código.

Como o dbfDefault funciona?

A configuração "dbfDefault" no registro do sistema define a página de código para a qual os arquivos shapefile e dBASE são exportados. A página de código de arquivos shapefile e dBASE criados no ArcGIS Desktop é codificada na página de código definida pelo valor "dbfDefault" do registro do sistema. Por exemplo, se "dbfDefault" estiver definido como OEM, os arquivos shapefile e dBASE criados no ArcMap, ArcCatalog e ArcGIS Pro serão codificados em OEM. Ou então, se "dbfDefault" estiver definido como ANSI, os arquivos shapefile e dBASE serão codificados em ANSI.

Se um arquivo shapefile ou dBASE não tiver um arquivo LDID ou .cpg, o ArcGIS assumirá que o arquivo a ser codificado está na página de código definida por dbfDefault. Por exemplo, se o valor de dbfDefault estiver definido como OEM e um arquivo dBASE não tiver um arquivo LDID e um arquivo .cpg, o ArcGIS assumirá que o arquivo está codificado em OEM e, portanto, executará uma conversão da página de código para exibir os caracteres de 8 bits no ArcMap , ArcCatalog e ArcGIS Pro (uma vez que os aplicativos são programas do Windows que usam a página de código ANSI para exibir strings).

Nota: Se os usuários tiverem o valor de dbfDefault definido para uma determinada página de código, todos os arquivos shapefiles e dBASE exportados no ArcGIS serão codificados nessa página de código. Além disso, o programa considerará que todos os arquivos shapefiles e dBASE que não tiverem as informações da página de código estarão nessa página de código. Portanto, é importante retornar o valor de dbfDefault para o padrão (sem valor) quando a tarefa for concluída.

Com quais programas posso usar o dbfDefault?
Os aplicativos ArcGIS Desktop são os únicos programas afetados pela configuração de dbfDefault.

Quais formatos de dados são afetados pelo dbfDefault?
Os arquivos shapefile e dBASE são os únicos formatos de dados que podem ser usados pela configuração dbfDefault para especificar a página de código.

Procedure

As instruções a seguir descrevem como definir o valor de dbfDefault no registro do sistema. Duas opções são mostradas abaixo.

Aviso: As instruções abaixo incluem fazer alterações em partes essenciais do seu sistema operacional. É recomendável fazer backup do sistema operacional e dos arquivos, incluindo o registro, antes de continuar. Consulte um profissional de sistemas de computador qualificado, se necessário. A Esri não pode garantir os resultados de modificações incorretas ao seguir estas instruções. Portanto, tenha cuidado e proceda por sua conta e risco.

Opção A

  1. Adicione duas chaves denominadas Common e CodePage no registro do sistema.
    Para adicionar uma chave:
    1. Abra o Editor do Registro: Clique em Iniciar > Executar, digite regedit e clique em OK.
    2. Na árvore do registro (no painel esquerdo da janela de registro), vá até
      • Computer\HKEY_CURRENT_USER\Software\ESRI, e clique na chave de registro, Desktop 10.x (onde x é a versão instalada atual).
      • Para ArcGIS Pro, clique na chave de registro do ArcGISPro.
    3. Clique no menu Editar, clique em Nova > Chave.
    4. Adicione uma nova chave denominada Comum: Digite o nome Comum e pressione Enter.
    5. Clique na nova chave Common e adicione outra nova chave denominada CodePage.
  2. Adicione um novo valor de string, dbfDefault, à chave CodePage.
    Para adicionar um valor de string:
    1. Clique na nova chave CodePage.
    2. No menu Editar, clique em Novo >Valor da String.
    3. Digite dbfDefault como o novo valor e pressione Enter.
  3. Digite um valor da página de código.
    1. Selecione a entrada que você acabou de adicionar; é importante que dbfDefault esteja selecionado e não (Padrão).
    2. No menu Editar , clique em Modificar.
    3. Em Dados do valor, digite o novo valor da página de código, neste exemplo SJIS e clique em OK.
edit-string.png

A nova chave CodePage do ArcMap aparece como segue:

reg-update-arcmap.png

A seguir, estão listados os identificadores de página de código suportados (não diferenciam maiúsculas de minúsculas).

  • Identificadores de Página de Código OEM

437 - Estados Unidos
708 - Árabe (ASMO 708)
720 - Árabe (ASMO Transparente) - Árabe (DOS)
737 - Grego, Grego (DOS)
775 - Báltico, Báltico (DOS)
850 - Multilíngue Latino 1, Europeu Ocidental (DOS)
852 - Latino 2, Europeu Central (DOS)
855 - Cirílico
857 - Turco, Turco (DOS)
860 - Português, Português (DOS)
861 - Islandês, Islandês (DOS)
862 - Hebraico, Hebraico (DOS)
863 - Francês Canadense, Francês Canadense (DOS)
864 - Árabe, Árabe (864)
865 - Nórdico, Nórdico (DOS)
866 - Russo, Cirílico (DOS)
869 - Grego Moderno, Grego Moderno (DOS)
932 - Japonês, Japonês (Shift-JIS)
936 - Chinês (simplificado): República Popular da China, Singapura
949 - Coreano (Código Hangul Unificado)
950 - Chinês Tradicional: Taiwan, Hong Kong, República Popular da China
ALARABI - Define a página de código como 448

  • Identificadores de Página de Código ANSI

1250 - Europeu Central
1251 - Cirílico
1252 - Europeu Ocidental
1253 - Grego
1254 - Turco
1255 - Hebraico
1256 - Árabe
1257 - Idiomas bálticos
1258 - Vietnamita
Big5 - Chinês: Taiwan, Hong Kong, Macau
SJIS - Japonês (Define a página de código como 932)

  • Identificadores de Página de Código ISO

88591 - Latino 1: Europeu Ocidental
88592 - Latino 2: Europeu Central e Oriental
88593 - Latino 3: Europeu Meridional
88594 - Latin 4: Europeu Setentrional
88595 - Cirílico
88596 - Árabe
88597 - Grego
88598 - Hebraico
88599 - Latino 5: Turco
885910 - Latino 6: Nórdico
885911 - Tailandês
885913 - Lituano
885915 - Latino 9: Europeu Ocidental (Atualizado do Latino 1)

  • Valores Unicode

UTF-8 - Define a página de código como 65001
UTF8 - Define a página de código como 65001

Nota: Shapefiles agora podem ser armazenados em UTF-8. No entanto, shapefiles codificados em UTF-8 são reconhecidos somente no ArcMap, ArcCatalog e ArcGIS Pro.

Opção B
Como alternativa, é possível usar um arquivo em lotes para modificar o registro do Windows.

  1. No Bloco de Notas, crie o arquivo ChangeCodePage.bat usando o seguinte código:
Para ArcMap
@ECHO OFF IF "%1"=="" GOTO :EOF reg add HKEY_CURRENT_USER\Software\ESRI\Desktop10.8\Common\CodePage /v dbfDefault /t REG_SZ /d %1 /f
Nota: Para ArcMap, altere o caminho conforme necessário para corresponder à versão do ArcMap no sistema a ser modificado, por exemplo, ..\Desktop10.7).

Para ArcGIS Pro

@ECHO OFF IF "%1"=="" GOTO :EOF  reg add HKEY_CURRENT_USER\Software\ESRI\ArcGISPro\Common\CodePage /v dbfDefault /t REG_SZ /d %1 /f
  1. Salve o arquivo em um local na máquina a ser modificada.
  2. Abra uma janela do prompt de comando (pode ser necessário selecionar Executar como Administrador para executar o arquivo em lotes).
  3. Para executar o arquivo em lotes (e alterar a página de código para Japonês neste exemplo), navegue até o local do arquivo em lotes e execute o seguinte comando:
ChangeCodePage SJIS

cmd-bat-small.png

As chaves do registro estão agora criadas para ArcGIS Pro e a página de código definida para SJIS.

Registro atualizado com nova configuração da página de código do ArcGIS Pro
 

Last Published: 3/13/2021

Article ID: 000013192

Software: ArcMap 10.8.1, 10.8, 10.7.1, 10.7, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2 ArcGIS Pro 2.4.3, 2.4.2, 2.4.1, 2.4, 2.3.3, 2.3.2, 2.3.1, 2.3, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2, 2.1.3, 2.1.2, 2.1.1, 2.1, 2.0.1, 2.0, 1.4.1, 1.4, 1.3.1, 1.3, 1.2