1

I can not write special characters inside IPTC metadata on a jpg image :-( simply the character is not written on the image. can someone help me ? thanks

require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use PHPExiftool\Writer;
use PHPExiftool\Driver\Metadata\Metadata;
use PHPExiftool\Driver\Metadata\MetadataBag;

use PHPExiftool\Driver\Tag\XMPAux\Lens;
use PHPExiftool\Driver\Tag\IPTC\ObjectName;
use PHPExiftool\Driver\Tag\IPTC\Keywords;
use PHPExiftool\Driver\Tag\IPTC\CaptionAbstract;
use PHPExiftool\Driver\Tag\IPTC\CopyrightNotice;
use PHPExiftool\Driver\Tag\IPTC\ProvinceState;
use PHPExiftool\Driver\Tag\IPTC\CountryPrimaryLocationName;
use PHPExiftool\Driver\Tag\IPTC\ByLine;

use PHPExiftool\Driver\Value\Mono;

$logger = new Logger('exiftool');
$Writer = Writer::create($logger);

$bag = new MetadataBag();

**$bag->add(new Metadata(new Description(), new Mono('Alè')));require** 

$bag->add(new Metadata(new Headline(), new Mono($e)));

$Writer->write('test.jpg', $bag);

1 Answers1

0

I had similar issues and created my own library for that

First — you'll need to install it with Composer

composer require ibudasov/php7-iptc-manager

Then

// import the Manager class
use iBudasov\Iptc\Manager;

// ... and instantiate it!
$manager = Manager::create();

$manager->loadFile('./test.jpg');

$manager->addTag(new Tag(Tag:: DESCRIPTION, ['Alè']));

$manager->write();

I just tested on localhost, seems to be working.

1gor
  • 36
  • 5