Image::ExifToolバージョンアップの罠
新しいサーバへの移転ついでに,モジュールのバージョンも最新のものに差し替えているのだけど,Image::ExifToolではまった.
最近のバージョンでUTF-8に対応したらしく,処理が色々変わっていた.
ちゃんとUTF-8になるならいいんだけど,IPTCタグに日本語を入れた場合には未対応だった模様.
SJISコードで入るのだけど,それを変に変換して文字化けしたデータしか返ってこない.
Charset => 'Latin' オプションを指定すると,余計な変換をしなくなるようで,元のSJISバイト列が取り出せた.
便利なモジュールだけど,こういう変更はきつい...
CharsetConvert => 'none' みたいなわかりやすいオプションだったらまだ良いんだけど,Latin指定で変換されないことに気づくまでに時間がかかってしまった.
The comments to this entry are closed.
Comments
こんにちは。
ExifTool を利用しようとしています。
Charset => 'Latin' オプションを指定とは、具体的に、どのようにコマンドを打てば文字化けしなくなりますでしょうか?
試行錯誤していますが、文字化けしてしまいます。
Posted by: ハナ | Friday, January 24, 2014 06:53 AM
Optionsメソッドで指定したらうまくいきましたが,コマンドラインの方は使ったことないのでちょっとわからないです.
http://search.cpan.org/~exiftool/Image-ExifTool-9.46/lib/Image/ExifTool.pod#Options
マニュアルを見ると,Advanced options の -api Charset=Latin とかの指定で出来そうな気はします.
http://search.cpan.org/~exiftool/Image-ExifTool-9.46/exiftool#Advanced_options
取り出せるのはSJISなので,Linuxのコマンドラインとかであれば,更にUTF-8に変換するなどを自前でする必要があるかもしれません.
Posted by: みかげ | Friday, January 24, 2014 01:50 PM