[OSGeoJapan-discuss] QGIS version 1.8の文字化けに関して

Yoichi Kayama yoichi.kayama @ gmail.com
2012年 10月 5日 (金) 00:03:22 PDT


縫村さん

みなさん

かやまです

Shapeファイルの日本語をUTF-8にする件ですが先ほど記述しました文字数の問題は
カラム名のところだけではなく、データの部分にも影響します。

Shapeファイルの属性フィールドで文字列型の長さは最大255バイトしか利用できません。
文字列フィールドの最大バイト数は数値で指定されているので、それ以上の長さのデータを
フィールドに格納することはできません。

ShftJISの場合日本語1文字が2バイトですのでShftJISで作成されたShapeFileを
UTF-8に変換する場合は日本語データのバイト数が多くなって元のフィールド長では
格納できなくなる場合があります。

また、フィールド長にしても最大255バイトなので、フィールド長を長くしても対応できない
場合がShftJIS->UTF-8変換ではあります。

このような不便があるのでShftJISで作成されているShapeファイルをUTF-8に変換すると
いうような作業をするよりはSpatialite等で日本語文字列がはいったデータを扱ったほうが
いいと思っています。
ただしQGISでのデータ加工結果はShapeFileでしか対応していない機能が多いので
その場合の日本語が大丈夫かとかの問題はあります。

既存のShapeFileの日本語はほとんどShftJISですからShiftJISのShapeFileを読む需要
はあります。



2012年10月5日 15:22 Yoichi Kayama <yoichi.kayama @ gmail.com>:
> 縫村さん
>
> かやまです
>
> qgis.bat  に以下の記述
>
> SET SHAPE_ENCODING=UTF-8
>
> Shapeファイルのエンコーディング指定を UTF-8に設定
> (ベクトルレイヤの追加 ダイアログのエンコーディング指定 のとこを
> UTF-8で選択。この設定はWinの場合レジストリか何かに残るようです。
> プラグイン等でファイルを読む時に、ここのエンコーディング指定に影響されるので
> 注意が必要)
>
> この状態で Shapeファイルの新規作成で日本語が化けません。
>
> ただし、ShapeFileのフィールド名は利用できるバイト数が少ないので
> 注意が必要。UTF-8の場合日本語は1文字3バイトつかいます。
> Shapeのカラムの長さは10バイトが最長なのでUTF-8の場合日本語3文字が
> 限界ではないでしょうか。
>
>
>
> 2012年10月5日 14:53 NUIMURA, Takayuki <nuimura @ nagoya-u.jp>:
>> 縫村です。
>>
>>
>> 皆さんのご協力のおかげで、どのような場合に文字化けするのかが大分把握でき
>> てきました。ありがとうございます。
>>
>>
>>>嘉山さん
>> OSGeo4Wでの新規Shapefile作成ですが、作成時にUTF-8で作ると文字化けは起こ
>> りませんでした。また、FieldCalclaterで日本語カラムのデータを別の日本語カ
>> ラムに値(テキスト)をコピーする計算を行ったところ、問題なく実行できました。
>>
>> 使用環境は
>> Windows 7 x64
>> OSGeo4W内のパッケージは以下の通り
>> QGIS 1.8.0-3
>> gdal 1.9.1-2
>>
>> もしよろしければ、嘉山さんの環境でUTF-8で新規Shapefile作成をして確認頂け
>> ませんでしょうか?
>>
>> ですが、プラグインなどによってはエラーが無いとは言いきれないので、カラム
>> 名に日本語はなるべく使わないほうが良いと講習会では紹介しようと思います。
>>
>>
>>
>>
>> On 2012/10/05 14:14, Yoichi Kayama wrote:
>>> かやまです
>>>
>>> 縫村さん
>>> 赤木さん
>>>
>>> 情報ありがとうございます。
>>> OSGeo4Wでテストしてみたのですが、新規 Shapeレイヤを作成する時に
>>> カラム名に日本語がはいっていると文字化けするとこは私のとこではそのままなの
>>> ですがいかがでしょうか?
>>>
>>> 別のソフトで作られたShiftJIS日本語カラム名や日本語データが混在したShape
>>> ファイルは文字化けせずによむことができました。
>>>
>>> FieldCalclater は日本語のデータはうまく扱えたけど、日本語のカラム名を
>>> つかうとだめなようです。
>>>
>>> 今のとこカラム名に日本語使わなないほうがいいかもしれません。
>>>
>>>
>>> 2012年10月5日 13:07 Nobusuke Iwasaki <wata909 @ gmail.com>:
>>>> 縫村さん,みなさん
>>>>
>>>> いわさきです。
>>>> 貴重な情報ありがとうございます。参考になりました。
>>>>
>>>> 今度のGIS学会で特別セッションとしてローカライズの話題がありますが,そのような場所でもこういう問題をどうすればいいのか,対応策だけではなく,どの様に働きかけていくのかも含めて,話せればいいですね。
>>>>
>>>> また,以前嘉山さんが仰っていた気がするのですが,文字コード関係はちゃんと動いているのかどうかを確認するための標準的な手順を作った方がいいですね。
>>>>
>>>> 2012年10月5日 12:20 NUIMURA, Takayuki <nuimura @ nagoya-u.jp>:
>>>>> 瀬戸さん、   喜多さん、赤木さん、及びdiscuss MLのみなさま、
>>>>>
>>>>>
>>>>> 縫村です。
>>>>> 文字化けに関する情報いただきありがとうございました。
>>>>> これまで自分は日本語の含まれたShapefileを扱ってこなかったので、今回GIS学
>>>>> 会前日のQGIS講習会のためいろいろ調べて皆さんと情報交換をさせていただき大
>>>>> 変勉強になりました。
>>>>>
>>>>> 赤木さんに教えていただいた方法で、スタンドアロン版(1.8)での文字化け、
>>>>> OSGeo4W版(1.8)での読み書き(Shift_JIS、UTF-8いずれも)上手くできることを
>>>>> 確認できました!これで最初の設定だけすれば、QGIS1.8も普通に使うことがで
>>>>> きますね。
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 2012/10/05 11:23, Minoru Akagi wrote:
>>>>>> はじめまして,
>>>>>>
>>>>>> 赤木と申します。
>>>>>>
>>>>>>> SET SHAPE_ENCODING=UTF-8
>>>>>> とすればOGR Shapefileドライバが文字コード変換を行わないのでQGISから出力されるShapefileの文字化けがなくなります。
>>>>>> しかし喜多さんのおっしゃるようにQGISでUTF-8ではないShapefileを読み込むと文字化けが生じます。QGISはOGRからUTF-8の文字列が渡されたとして処理してしまうからです。
>>>>>>
>>>>>> SHAPE_ENCODINGにUTF-8ではなく空文字列を設定すればOGR
>>>>>> Shapefileドライバの文字コード変換が無効にされ,QGISでユーザが選択した文字コードで文字列が読み込まれるのですがWindowsでは環境変数に空文字列が設定できないようです。
>>>>>> QGIS master 1.9では「Ignore shapefile
>>>>>> encoding」というオプションが追加されており,そのオプションをチェックすればSHAPE_ENCODINGに空文字列が設定されて文字化けを回避できますが,1.9のリリースまで待てませんね。
>>>>>> そこで,QGIS 1.8ではqgis.batに次の行を挿入してみて下さい。
>>>>>> SET SHAPE_ENCODING=DUMMY
>>>>>>
>>>>>> DUMMYという存在しない文字コードを指定することでもOGR側の文字コード変換を無効にすることができます(OGRShapeLayerクラスのコンストラクタで行われる文字コード変換テストをわざと失敗させます)。
>>>>>> スタンドアロン版とOSGeo4W版のどちらもこの方法で文字化けが回避できるはずです。
>>>>>>
>>>>>>
>>>>>> 赤木 実
>>>>>> http://space.geocities.jp/bischofia_vb/
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context: http://osgeo-org.1560.n6.nabble.com/QGIS-version-1-8-tp5006318p5006532.html
>>>>>> Sent from the OSGeo Japan Local Chapter mailing list archive at Nabble.com.
>>>>>> _______________________________________________
>>>>>> OSGeoJapan-discuss mailing list
>>>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Takayuki NUIMURA
>>>>> Graduate School of Environmental Studies, Nagoya University
>>>>> D2-1(510), Chikusa-ku, Nagoya 464-8601, Japan
>>>>> Phone:+81-52-789-3479, Fax:+81-52-789-3436
>>>>>
>>>>> 縫村崇行
>>>>> 名古屋大学大学院 環境学研究科
>>>>> 〒464-8601 名古屋市千種区不老町D2-1(510)
>>>>> Phone/FAX:052-789-3479
>>>>>
>>>>> E-mail: nuimura @ nagoya-u.jp
>>>>> Skype: t_nuimura
>>>>> _______________________________________________
>>>>> OSGeoJapan-discuss mailing list
>>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>>
>>>>
>>>>
>>>> --
>>>> 岩崎 亘典
>>>> _______________________________________________
>>>> OSGeoJapan-discuss mailing list
>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>
>>
>> --
>> Takayuki NUIMURA
>> Graduate School of Environmental Studies, Nagoya University
>> D2-1(510), Chikusa-ku, Nagoya 464-8601, Japan
>> Phone:+81-52-789-3479, Fax:+81-52-789-3436
>>
>> 縫村崇行
>> 名古屋大学大学院 環境学研究科
>> 〒464-8601 名古屋市千種区不老町D2-1(510)
>> Phone/FAX:052-789-3479
>>
>> E-mail: nuimura @ nagoya-u.jp
>> Skype: t_nuimura
>> _______________________________________________
>> OSGeoJapan-discuss mailing list
>> OSGeoJapan-discuss @ lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss


More information about the OSGeoJapan-discuss mailing list