質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Q&A

解決済

1回答

1243閲覧

Exiftoolで得た画像のメタ情報の文字化けの解消方法を教えてください

giftend

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

0グッド

0クリップ

投稿2019/01/21 03:14

tiff画像からメタ情報(IPTC)を取得し、それを表示するプログラムをExifToolを使用して書いています。

perl

1#! /usr/bin/perl 2use strict; 3use warnings; 4use Image::ExifTool; 5my $file = $ARGV[0]; 6##########外部ファイルが入ってきていない時エラー出す########## 7if ( !$ARGV[0] ){ 8 print "Input File Name!!\n"; 9 exit (0); 10} 11############################################################## 12 13##########exiftoolを使ってtiffファイルからキャプション情報を取り出す########## 14my $exifTool = new Image::ExifTool; 15my $info = $exifTool->ImageInfo($file); 16my $caption = $$info{'Caption-Abstract'}; 17######################################################################## 18print "$caption\n";

これを実行すると文字化けしたキャプションが表示されます。
環境はCentOS7、文字コードはUTF-8です。

自分なりに調べて以下の内容を試行錯誤してみたのですが、結果は変わりませんでした。

・CharsetオプションでLatin指定
$exifTool -> Options(Charset => 'Latin');

・CharsetIPTCオプションでUTF-8指定
$exifTool -> Options(CharsetIPTC => 'UTF8');

・Encodeモジュールを使ってのエンコード→デコード

そこでこの文字化けを解消する方法を知っている方がいらっしゃいましたら是非教えていただきたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KojiDoi

2019/01/21 07:29

本来表示されるべき文字列とその文字化けの様相を示すことは可能ですか? 最後のprintの直前に binmode STDOUT, ':utf8'; と挿入するとどうなりますか?
giftend

2019/01/22 02:57

返信ありがとうございます。 キャプションに「キャプション_caption」と入力してプログラムを実行すると「・ュ・罕ラ・キ・逾caption」と出力されます。また、コマンド上で exiftool test.tiff を実行するとキャプションは「.%-%c%W%7%g%s._caption」と出力されます。 そして「binmode STDOUT, ':utf8';」行をprintの直前に挿入しても出力結果に変化はありませんでした。 を
guest

回答1

0

ベストアンサー

とにかく問題を切り分ける必要がありそうです。
0. そもそも対象TIFFファイル上のメタ情報は正常に記述されているのか。
0. $exifTool->ImageInfo($file);でデータはUTF-8で取得できているか。
0. perlスクリプト内でうけとった文字列の出力処理に瑕疵はないか。

exifToolも適当なtiffファイルも手元にないので確かめられないのですが、exiftool test.tiffでも文字化けするということは、上記1の段階、「キャプションに「キャプション_caption」と入力して」の部分が既にうまくいっていないということではないでしょうか。

投稿2019/01/22 18:39

KojiDoi

総合スコア13669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

giftend

2019/01/24 03:25

返信が遅くなり申し訳ありません。 回答をいただいてから調べてみたところ、ご指摘の通りそもそもtiffファイルにメタ情報が正しく記述されていませんでした。 exiftoolが原因だと思い込んでいたため、気がつきませんでした。初歩的なミスで恥ずかしいのですが、無事解決できました。ありがとうございました。 ベストアンサーとさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問