日本語

操作手順: 各種コード ページでエンコードされたシェープファイルと dBASE ファイルを読み書きする

概要

Esri は、各種コード ページでエンコードされたシェープファイルと dBASE ファイルを Desktop アプリケーションが読み書きできるようにする 'CODE PAGE CONVERSION' 機能を ArcGIS Desktop アプリケーション (ArcMap、ArcCatalog、ArcGIS Pro) に実装しています。 dBASE ファイルのコード ページ変換機能 (名称: 'dbfDefault') は、システム レジストリにコード ページ値を指定してアクティブ化します。DBF ファイルのヘッダーに、コード ページへの参照が含まれています。 シェープファイル (*.DBF) のデフォルト コード ページは UTF-8 (UNICODE) に設定されています。 これは、現行の国際化の手法においてデフォルトとなっています。

 

FAQ

dbfDefault 設定によって、どのようなことができますか?

システム レジストリにコード ページ値を設定すると、ユーザーはそのコード ページでエンコードされたシェープファイルと dBASE ファイルを読み書きできるようになります。 たとえば、コード ページ レジストリ値を OEM に設定すると、OEM でエンコードされたシェープファイルをエクスポートできます。 また、ユーザーは、コード ページ情報が格納されていないシェープファイルと dBASE ファイルも、ファイルのエンコードに使用されたコード ページがわかっている限り読み取ることができます。

dbfDefault が設定される理由は何ですか?
ArcMap、ArcCatalog、および ArcGIS Pro でシェープファイルと dBASE ファイルを開くと、アプリケーションによって dBASE ファイルのヘッダーにある LDID (Language Driver ID)、または関連付けられた *.CPG ファイルが確認されます。これらは両方とも、コード ページの定義に使用され、読み取られるファイルのコード ページの決定に役立ちます。 ArcGIS Desktop は、取得したコード ページ情報に従って、必要な場合は、コード ページ変換を実行することで文字列を表示します。 dBASE ファイルに LDID や *.CPG ファイルが存在しない場合、ファイルは Windows (ANSI/マルチバイト) コード ページでエンコードされたと見なされます。

Desktop プログラムが OEM でエンコードされた dBASE ファイルを読み取るときに、ファイルにコード ページ情報が含まれていないか、LDID や *.CPG ファイルが存在していない場合、文字は正しく表示されません。 この理由は、Desktop プログラムがコード ページ情報を検出できないため、ファイルが ANSI コード ページでエンコードされていると見なすのに対して、ファイルは実際には OEM でエンコードされているからです。 つまり、ArcGIS は OEM ファイルを ANSI でエンコードされているものとして処理するため、その結果、ファイルに格納されている 8 ビット文字が正しく表示されません。

ほとんどのシェープファイルと dBASE ファイルにはコード ページ情報が格納されています。 Microsoft Access や Excel などの一部のプログラムは、dBASE ファイルを OEM でエンコードしますが、その LDID にコード ページ情報を挿入しないため、ArcGIS はこれらのファイルを正しく読み取ることができません。 この問題を回避するには、dbfDefault を適切なコード ページに設定してから、コード ページ情報がないファイルを開くことができます。

dbfDefault にはどのように機能がありますか?

システム レジストリの 'dbfDefault' 設定は、シェープファイルと dBASE ファイルのエクスポート先となるコード ページを定義します。 ArcGIS Desktop で作成されるシェープファイルと dBASE ファイルのコード ページは、システム レジストリの 'dbfDefault' 値によって定義されたコード ページにエンコードされます。 たとえば、'dbfDefault' が OEM に設定されている場合、ArcMap、ArcCatalog、ArcGIS Pro で作成されたシェープファイルと dBASE ファイルは OEM でエンコードされます。 または、'dbfDefault' が ANSI に設定されている場合、シェープファイルと dBASE ファイルは ANSI でエンコードされます。

シェープファイルまたは dBASE ファイルに LDID や *.cpg ファイルが存在しない場合、ArcGIS は、dbfDefault で定義されたコード ページでファイルがエンコードされると見なします。 たとえば、dbfDefault 値が OEM に設定され、dBASE ファイルに LDID および *.cpg ファイルが両方とも存在しない場合、ArcGIS はファイルが OEM でエンコードされると見なすため、ArcMap、ArcCatalog、および ArcGIS Pro で 8 ビット文字を表示するためにコード ページ変換を実行します (これは、どのアプリケーションも、ANSI コード ページを使用して文字列を表示する Windows プログラムであるためです)。

注意: ユーザーが dbfDefault 値を特定のコード ページに設定している場合、ArcGIS でエクスポートされたすべてのシェープファイルと dBASE ファイルはそのコード ページでエンコードされます。 コード ページ情報を持たないシェープファイルと dBASE ファイルもすべて、そのコード ページに含まれると見なされます。 したがって、タスクが完了したら、dbfDefault 値を再びデフォルト値 (値なし) に設定することが重要です。

dbfDefault を使用できるプログラムにはどのようなものがありますか?
dbfDefault 設定の適用対象となるプログラムは ArcGIS Desktop アプリケーションのみです。

dbfDefault の適用対象となるデータ形式は何ですか?
コード ページを指定するために dbfDefault 設定で使用できるデータ形式は、シェープファイルと dBASE ファイルのみです。

手順

下記の手順は、システム レジストリに dbfDefault 値を設定する方法を示しています。 2 つのオプションを記載しています。

警告: 下記の手順には、オペレーティング システムの重要な部分に対する変更が含まれています。 先へ進む前に、レジストリを含め、オペレーティング システムとファイルのバックアップを実行することをお勧めします。 必要に応じて、コンピューター システムの専門家に相談してください。 Esri では、これらの手順を実行するときに変更を誤った場合の結果について保証いたしません。したがって、十分に注意してご自身の判断で行ってください。

オプション A

  1. [Common][CodePage] という名前の 2 つのキーをシステム レジストリに追加します。
    キーの追加手順:
    1. [レジストリ エディター] を開きます。[スタート] → [ファイル名を指定して実行] の順にクリックし、「regedit」と入力して [OK] をクリックします。
    2. レジストリ ツリー (レジストリ ウィンドウの左側のウィンドウ) で、
      • [Computer\HKEY_CURRENT_USER\Software\ESRI] に移動して、レジストリ キー [Desktop 10.x] (「x」は現在のインストール バージョン) をクリックします。
      • ArcGIS Pro については、レジストリ キー [ArcGISPro] をクリックします。
    3. [編集] メニューをクリックし、[新規] → [キー] をクリックします。
    4. [Common] という新しいキーを追加します。名前として「Common」を入力して Enter キーを押します。
    5. 新しい [Common] キーをクリックし、[CodePage] という新しいキーをさらに追加します。
  2. 新しい文字列値 [dbfDefault][CodePage] キーに追加します。
    文字列値の追加手順:
    1. 新しい [CodePage] キーをクリックします。
    2. [編集] メニューで [新規][文字列値] をクリックします。
    3. 新しい値として「dbfDefault」を入力し、Enter キーを押します。
  3. コード ページ値を入力します。
    1. 直前に追加したエントリを選択します。[(Default)] ではなく [dbfDefault] が選択される必要があります。
    2. [編集] メニューで [修正] をクリックします。
    3. [値のデータ] に新しいコード ページ値を入力します (ここでは「SJIS」)。[OK] をクリックします。
edit-string.png

ArcMap の 新しい [CodePage] キーが次のように表示されます。

reg-update-arcmap.png

サポートされているコード ページ識別子 (大文字と小文字は区別されない) のリストを次に示します。

  • OEM コード ページ識別子

437 - 米国
708 - アラビア語 (ASMO 708)
720 - アラビア語 (Transparent ASMO)、アラビア語 (DOS)
737 - ギリシャ語、ギリシャ語 (DOS)
775 - バルト語、バルト語 (DOS)
850 - マルチリンガル ラテン語 1、西ヨーロッパ (DOS)
852 - ラテン語 2、中央ヨーロッパ (DOS)
855 - キリル語
857 - トルコ語、トルコ語 (DOS)
860 - ポルトガル語、ポルトガル語 (DOS)
861 - アイスランド語、アイスランド語 (DOS)
862 - ヘブライ語、ヘブライ語 (DOS)
863 - カナダ フランス語、カナダ フランス語 (DOS)
864 - アラビア語、アラビア語 (864)
865 - ノルディック、ノルディック (DOS)
866 - ロシア語、キリル語 (DOS)
869 - 現代ギリシャ語、現代ギリシャ語 (DOS)
932 - 日本語、日本語 (Shift-JIS)
936 - 中国語 (簡体字): 中華人民共和国、シンガポール
949 - 韓国語 (統合型ハングル コード)
950 - 繁体字中国語: 台湾、香港、中華人民共和国
ALARABI - コード ページを 448 に設定

  • ANSI コード ページ識別子

1250 - 中央ヨーロッパ
1251 - キリル語
1252 - 西ヨーロッパ
1253 - ギリシャ語
1254 - トルコ語
1255 - ヘブライ語
1256 - アラビア語
1257 - バルト言語
1258 - ベトナム語
Big5 - 中国語: 台湾、香港、マカオ
SJIS - 日本語 (コード ページを 932 に設定)

  • ISO コード ページ識別子

88591 - ラテン語 1: 西ヨーロッパ
88592 - ラテン語 2: 中央/東ヨーロッパ
88593 - ラテン語 3: 南ヨーロッパ
88594 - ラテン語 4: 北ヨーロッパ
88595 - キリル語
88596 - アラビア語
88597 - ギリシャ語
88598 - ヘブライ語
88599 - ラテン語 5: トルコ
885910 - ラテン語 6: ノルディック
885911 - タイ語
885913 - リトアニア語
885915 - ラテン語 9: 西ヨーロッパ (ラテン語 1 からのアップグレード)

  • Unicode 値

UTF-8 - コード ページを 65001 に設定
UTF8 - コード ページを 65001 に設定

注意: シェープファイルを UTF-8 で保存できるようになりました。 ただし、UTF-8 でエンコードされたシェープファイルは、ArcMap、ArcCatalog、ArcGIS Pro でのみ認識されます。

オプション B
Windows レジストリの変更を、バッチ ファイルを使用して行う方法もあります。

  1. メモ帳で、次のコードを使用して、ChangeCodePage.bat ファイルを作成します。
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
注意: ArcMap の場合、変更するシステム上の ArcMap のバージョンに一致するように、必要に応じてパスを変更します (例: ..\Desktop10.7)。

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. 変更するコンピューター上の場所にファイルを保存します。
  2. コマンド プロンプト ウィンドウを開きます (バッチ ファイルを実行するには [管理者として実行] が必要な場合があります)。
  3. バッチ ファイルを実行 (この例では、コード ページを日本語に変更) するために、バッチ ファイルの場所に移動し、次のコマンドを実行します。
ChangeCodePage SJIS

cmd-bat-small.png

これで、ArcGIS Pro のレジストリ キーが作成され、コード ページが SJIS に設定されます。

ArcGIS Pro 用の新しいコード ページ設定で更新されたレジストリ
 

更新日時: 3/13/2021

記事 ID: 000013192

ソフトウェア: 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