TileMill やMapBox Studio などで、シェープファイルを読み込んだ際に文字化けする場合の対処方法
- QGISで.shp ファイルを読み込んで、文字コード(UTF-8)を指定して保存する。
Shpファイルの文字コードと、OSの標準の文字コードが同じ場合は大体これでOK
- QGISだけではうまくいかない時は、OpenOfficeやKoffice、LibreOfficeでDBFファイルを読み込んで文字コードを変換する。 但し、この場合フィールド名が全て大文字に変わるので注意。
そもそもQGISでシェープファイルを開いたときに文字化けしている場合
QGISがファイルの文字コードを正しく識別できていないので、文字コードを明示的に指定する。
シェープファイルに文字コードの指定(cpgファイル)が無い場合、OSの標準文字コードで読まれるから起こる現象。サンプルは浦安市のオープンデータなので文字コードは(Shift_JIS)だが、OS(Suse Leap)の文字コードはUTF-8のため、UTF-8で読まれている。
[文字コード指定手順]
- レイヤーパレットで対象のレイヤーを右クリック(又はダブルクリック)
- プロパティをクリックしてレイヤープロパティ表示
- ソースのデータソースエンコーディングで、文字コードを選択する。
- 表示のみであれば以上で完了だが、このレイヤーを別名保存すれば、 .cpgファイルが出来て以降は正しく文字コードが選択される。
(Nov.27 2018 QGISで開いたときの文字化けについて追記)