[OSGeoJapan-discuss] QGIS version 1.8の文字化けに関して
OKI Miyuki
oki @ hunes.co.jp
2012年 10月 9日 (火) 19:55:26 PDT
沖です。
なんか忙しくて見てない間に、すっかり乗り遅れて
しまいました(>_<)。
shape のフィールド名が文字化けするという話ですが、
手元の gdal-1.9.1 のソースでチェックすると、ちゃんと
対処されているように見えます。
関係ありそうなのは、
ogrshapelayer.cpp というファイルのコンストラクタ
OGRShapeLayer::OGRShapeLayer
という中身で、
if( CPLGetConfigOption( "SHAPE_ENCODING", NULL ) != NULL )
osEncoding = CPLGetConfigOption( "SHAPE_ENCODING", "" );
というように、環境変数 SHAPE_ENCODING で元の文字コードが何かを
取得しているようです。
ここの環境変数の指定ですが、ソースから推測すると、
CPLString OGRShapeLayer::ConvertCodePage( const char *pszCodePage )
という部分に書かれてまして、
SHAPE_ENCODING=LDID/932
と指定すれば、SJIS と判定してもらえそうな雰囲気です。
フィールド名の変換は、
shape2ogr.cpp というファイルの
OGRFeatureDefn *SHPReadOGRFeatureDefn
という所で、上記コードページに基いて
CPLRecodeを通じ、UTF-8 に変換されている模様です。
とりあえず、参考まで
More information about the OSGeoJapan-discuss
mailing list