ITPC データを含むイメージがあり、次のコマンドを使用して IPTC をテキスト データとして抽出します。
convert image.jpg IPTCTEXT:iptc.txt
問題は、これが「特殊文字」にエンティティを使用しているように見えることです:
2#120#Caption="Beschreibung für den Import aus IPTC"
実際には、ここでは「für」のはずです。しかし、正しいエンティティを取得する代わりに ü 「ü」文字の場合、2 つのエンティティを取得します (おそらく、UTF-8 でエンコードされた文字の両方のバイトが分離されたエンティティに変換されます)。そして、これらの 2 つのエンティティを正しく解析できません。
正しいエンティティを取得する方法、または UTF-8 文字を完全に返すエンティティを無効にする方法はありますか?
編集: Java で StringEscapeUtils.unescapeXml を使用してエンティティを解析しようとしましたが、両方のエンティティがエスケープされていないため、「ü」ではなく 2 文字 (「ü」) が取得されます。
Edit2: サンプル画像はこちら: http://fs1.directupload.net/images/150615/5eiv6wwf.jpg