[OSGeoJapan-discuss] GDALの2バイト文字関連バグ

Minoru Akagi akaginch @ gmail.com
2013年 7月 11日 (木) 20:03:59 PDT


> (3)日本語WindowsからGDALにデータファイルを渡すときは,フォルダ名,ファイ
> ル名をSJIS->UTF-8に変換し,GDALから日本語Windowsに戻すときは,
> UTF-8->SJISに変換する必要がある。
> (4)上述の変換を行うモジュールは沖Miyukiさんが既に開発済みで,ソースコー
> ドも公開されているが,未だ採用されるに至っていない。
> http://osgeo-org.1560.x6.nabble.com/gdal-dev-GDAL-OGR-patch-codepage-conversion-on-windows-td4977683.html
> このあたりで小林の理解は怪しくなってくる。
>
> (5)同様のモジュールは赤木さんも開発している?
> http://osgeo-org.1560.x6.nabble.com/GDAL-td5015522.html
> これはバッチファイルなので,各自で動かす?(小林はよくわかっていません。)

上記の沖さんのパッチによってWindows環境ではWindowsコードページ(CP)xxxとUTF-8間の文字コード変換がgdal19.dllにiconvがリンクされていなくても出来るようになりました。ただこれはiconvを利用する設定の場合には有効になりません。OSGeo4Wで現在入手できるgdalのgdal19.dllにはiconvがリンクされています。文字コード変換のパフォーマンスはiconvに比べてWin32
APIの方がよいので,もしユーザがCPxxxとUTF-8の文字コードサポートだけで十分であれば,iconvを利用しない設定でビルドしたgdal19.dllを利用するのもよいかもしれません。

GDALのバージョン1.8以上では(初期状態では)ファイルパスはUTF-8で与える必要があります。しかしWindows環境でGDALユーティリティプログラムを利用する場合,沖さんがGDAL
#4884で指摘されているように,コマンドライン引数にUTF-8の文字列を渡すとバイト列が変わってしまう,という問題があります。

#4884 (Language I/O support for command line program on windows
platform.) - GDAL http://trac.osgeo.org/gdal/ticket/4884

この問題は非ASCII文字が含まれる引数がファイルパスだけであれば,GDAL_FILENAME_IS_UTF8=NOを設定することで対処できます。QGISのGdalToolsプラグインはGDALユーティリティプログラムを利用していますが,最新のGdalToolsではGDALプログラム実行時に限ってGDAL_FILENAME_IS_UTF8=NOを設定した上でロケールの文字コードでコマンドライン引数を渡すことによって非ASCIIパスにも対応しています。一方,ジオリファレンサやQGISのGDAL/OGRデータプロバイダ(QgsGdalProvider,
QgsOgrProvider)等ではGDALをC APIを通じて利用していますので,ファイルパスやOGR
SQLの文字列を適切な文字コードで渡すことが可能です。


赤木 実

2013年7月12日 8:26 ASAHI Kosuke <asahi @ hcc.co.jp>:
> 朝日です。
>
> 小林さんがまとめてくださった(1)〜(5)の部分について詳しい方(沖さんか赤木
> さん?)から、あってるか説明入れてくださること希望します。
>
> QGISで日本語周りで不具合があった場合、QGISからGDALに渡す際にきちんとUTF8
> にされていないのが問題になることが多いのか、GDALの方の問題なのか切り分け
> てくださるだけで、ソース追う際の手間が少しでも省けるかと思います。
> きちんとソースみてから不具合報告しようと心に誓ったのですが、どこまで深く
> 見ていけばいいのか検討がついていなくて。。
>
> ご検討よろしくお願いします。
>
> (2013/07/11 9:41), 小林裕之 wrote:
>> 小林です。
>>
>> いろいろネットで調べてわかってきたこと(誤解があればどなたかご指摘願いま
>> す)を書いてみます。
>>
>> (1)GDALそのものはマルチバイトに対応しているが,UTF-8のみサポートしている。
>> (2)日本語WindowsはShift-JISでファイル名やフォルダ名を保持している。
>> (3)日本語WindowsからGDALにデータファイルを渡すときは,フォルダ名,ファイ
>> ル名をSJIS->UTF-8に変換し,GDALから日本語Windowsに戻すときは,
>> UTF-8->SJISに変換する必要がある。
>> (4)上述の変換を行うモジュールは沖Miyukiさんが既に開発済みで,ソースコー
>> ドも公開されているが,未だ採用されるに至っていない。
>> http://osgeo-org.1560.x6.nabble.com/gdal-dev-GDAL-OGR-patch-codepage-conversion-on-windows-td4977683.html
>>
>> このあたりで小林の理解は怪しくなってくる。
>>
>> (5)同様のモジュールは赤木さんも開発している?
>> http://osgeo-org.1560.x6.nabble.com/GDAL-td5015522.html
>> これはバッチファイルなので,各自で動かす?(小林はよくわかっていません。)
>>
>> どなたか日本人の代表になってもらい,このあたりを整理して,英語で,QGIS
>> (GDALは悪くないような気がするので,QGIS側で対処してもらう必要がある?)
>> の開発者に訴える必要があるかと思っています。
>>
>> 違っていたらメーリングリストにコメントお願いします。->みなさま
>>
>>
>>> 林さん、小林さん、みなさん
>>>
>>> 朝日です。
>>> お知恵を拝借したく。
>>>
>>> ジオリファレンサーの部分だけ絞って不具合を報告するとします。
>>> ジオリファレンサーの"変換の設定"のところで、"出力ラスタ"に日本語ファイル
>>> 名を入力すると、出力されるファイル名が文字化けした状態になります。
>>>
>>> 先方で再現出来る状態で説明してあげる際には、multibyte文字を入力してね、
>>> だけで通じるものなのでしょうか?
>>> 画面のキャプチャで説明するべきなのか、そもそもソースを読んでここの部分直
>>> してと指定しないとダメなのか、よくわかんなくなってしまって。。
>>>
>>> 日本語周りの不具合報告の仕方のアドバイスありましたら、御願いしたいです。
>>> よろしくお願いします。
>>>
>>> (2013/07/10 0:35), hayashi @ apptec.co.jp wrote:
>>>> 小林様
>>>>
>>>> Frankのチケット回答を読むと、
>>>> GDLAOpen() in UTF8 and they are internally converted to double byte unicode
>>>> characters and passed to a wide-char version of the open call。
>>>>
>>>> http://trac.osgeo.org/gdal/ticket/4376
>>>>
>>>> で基本UTF8なのですが、小林様の環境ではS-JISのように思います。
>>>> フリーソフトでいくらか変換するものがございます。
>>>> 折角ですからファイル名をUTF8ベースの文字にコンバートしたのち実行してみてはいかが
>>>> でしょうか?
>>>> 新たな発見があるかもしれません。
>>>>
>>>> #Windows=>LinuxでZIP渡しのデータにおいて、SJISのファイルが大量にあったりして、
>>>> #環境依存で結構トラブルので、極力日本語ファイル名は使わないようにしております。
>>>>
>>>>
>>>> (2013/07/09 16:47), 小林裕之 wrote:
>>>>> 小林です。
>>>>>
>>>>> すいません。
>>>>> 有料ソフトじゃないんで,開発者に無理言ったらだめですね。
>>>>> 訂正します。
>>>>>
>>>>>
>>>>>> 朝日さま,みなさま
>>>>>>
>>>>>> 小林@富山県森林研究所です。
>>>>>>
>>>>>> 日本語ファイル名,パス名でGDALがまともに動作しない件です。
>>>>>>
>>>>>> 北海道の研修会で朝日さんが気付かれて?,QGISのサイトへレポートを送ってい
>>>>>> ただいたのだと推察しております↓。
>>>>>> http://hub.qgis.org/issues/8237
>>>>>>
>>>>>>
>>>>>> 私も以前同じ不具合に遭遇し,バグレポートをGDALの方に送ったのですが,開発
>>>>>> 者?から2バイト文字もちゃんと認識するはずだとか言われて,なかなか話が通
>>>>>> じないなと,半ば諦め,放置しておりました↓。
>>>>>> http://gpsrsgis.seesaa.net/article/239673366.html
>>>>>>
>>>>>> やっぱり直ってないのですね。
>>>>>>
>>>>>> 是非,直させてください。->朝日さま,ほか有志のみなさま
>>>>> 是非,このバグが直るよう,いろんな方が先方に働きかけていただけるよう,お
>>>>> 願い申し上げます。
>>>>>
>>>>>
>>>>>>
>>>>>> よろしくお願い致します。
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 富山県森林研究所
>>>>>> 小林裕之 <kobayasi @ fes.pref.toyama.jp>
>>>>>> 〒930-1362 富山県中新川郡立山町吉峰3
>>>>>> TEL:076-483-1511    FAX: 076-483-1512
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> OSGeoJapan-discuss mailing list
>>>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>
>>> --
>>> 北海道地図株式会社 研究開発課
>>> 朝日 孝輔
>>> mailto:asahi @ hcc.co.jp
>>> Tel : 0166-62-4711
>>>
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>
>
>
> --
> 北海道地図株式会社 研究開発課
> 朝日 孝輔
> mailto:asahi @ hcc.co.jp
> Tel : 0166-62-4711
>
> _______________________________________________
> 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