exif_read_dataで
EXIF,UserCommentを読み込んでいますが、
文字化けしてしまいます。
mb_convert_encodingで色々試しましたが解決できません。
できればライブラリ等を使わずにできる方法を
よろしくお願いします。
ごめんなさい。勘違いしていました。
#2の回答は無視してください。
16bit unicode little endian でエンコードされています。
これをShift_JIS で表示するためには下記のようにします。
$UserCommentに UserComment.exif の値が入っているものとします。
$bin = substr($UserComment, 8); $str = mb_convert_encoding($bin, 'SJIS', 'UCS-2LE'); echo $str;
おそらく文字化けだと思うので、以下の情報をお願いします。
1.UserCommentに代入したテキスト本文
2.UserCommentのバイナリデータ
echo bin2hex(UserCommentの値)
のようにすれば、16進数で表示されます。
1.テスト
2.554e49434f444500c630b930c830
です。
うーん、文字コードではないですね。
1.Windowsのプロパティでコメントを入れました。
2.PhotoshopでもEXIF情報に「テスト」と表示されました。
Exif専用ツールじゃないとダメなのでしょうか。
ちなみにUserCommentの最初の8バイトは文字コードを表しているようで、
UNICODEと表示されます。mb_detect_encodingで調べるとASCIIとなります。
ごめんなさい。勘違いしていました。
#2の回答は無視してください。
16bit unicode little endian でエンコードされています。
これをShift_JIS で表示するためには下記のようにします。
$UserCommentに UserComment.exif の値が入っているものとします。
$bin = substr($UserComment, 8); $str = mb_convert_encoding($bin, 'SJIS', 'UCS-2LE'); echo $str;
表示されました!
有難うございました。
表示されました!
有難うございました。