LATIN1からUTF-8にシェープファイルをエンコードする方法は?


回答:


16

これはQGISで行えます。まずシェープファイルをロードし、save asドロップダウンメニューutf-8を選択してコーディングし、ファイルを保存します。


7
注意事項:このソリューションが機能するには、入力シェープファイルを開くときにLATIN1 / ISO-8859-1環境でqgisを起動する必要があります。そうしないと、正しく読み込まれません。UTF8環境で作業している場合、シェープファイル内のデータによっては、変換がサイレントに失敗し、データが破損する場合があります。ところで、ほとんどのOSはデフォルトでUTF8になりました。
ユニコレッティ

1
状況によっては動作しない場合があることに注意してください。この種の問題がありました:(osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html
JaakL

システムから単一のシェイプファイルをutf-8に保存しようとしていますが、機能しません。gis.stackexchange.com/questions/219092/...
ムハンマドFaizanカーン

27

Linuxを使用していて、GDALの最新バージョンにアクセスできると仮定すると、次のことを試すことができます(この投稿から)。

 export SHAPE_ENCODING="ISO-8859-1"
 ogr2ogr output.shp input -lco ENCODING=UTF-8

注:ISO-8859-1ではなくLATIN1も動作するはずです。

Windowsでは、設定していないSHAPE_ENCODINGogr2ogr認識しないISO-8859-1、もLATIN1


明確にするために、ここで「最近」とは1.9.xを意味するようです。これを1.8.1で試しましたが、うまくいきませんでした。1.9.1でもう一度試しました。
ミカルミグルスキー

Windowsで動作しませんでした。
パベルラジビロフスキー

Windowsで動作するようになった、答えを更新しました。
フラップ

SHAPE_ENCODINGどこかで有効な値のリストを検索できるかどうか知っていますか?
JJD 14

1
@JJD iconvで使用されるものと同じです:gnu.org/software/libiconv
unicoletti

3

シェープファイルについての私の理解が正しい場合、エンコードに依存する部分は、DBFファイルに含まれる属性データベースです。

LibreOffice Calc / Baseを使用してこの問題を解決するのに役立った回答を次に示します。

https://gis.stackexchange.com/a/3663/17998

さらに、個別の文字セットを使用してDBFファイルを開き、現在のエンコーディングが実際に何であるかを確認できるという利点もあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.