Специальные символы в терминале

Я пытаюсь установить уведомление об авторских правах на метаданные с помощью exiftool

exiftool -copyright="©2016 Джим Берри" *.JPG

но это проявляется в изображениях как "Copyright= ©2016 Jim Berry" Почему "Â" и как я могу избежать этого?

1 ответ

Решение

Вот что я считаю происходящим, основываясь на Exiftool FAQ 10.

Теги метаданных в группе EXIF ​​часто хранятся в ASCII, но для большинства (включая тег Copyright) нет стандарта для того, как кодируются символы. Рабочая группа по метаданным рекомендует кодировать данные в UTF-8, но не все инструменты делают это. Exiftool очень гибок и может закодировать его так, как вам нравится. Но по умолчанию кодируется так, как он его получает. В этом случае ваш набор символов оболочки, вероятно, является набором символов на основе UTF-8, и именно так кодируется тег при написании.

Однако инструмент Beanshell интерпретирует тег как ASCII, поэтому символ авторского права отображается как ©,

Если вы все еще хотите использовать тег Copyright, я думаю, вы можете использовать эту команду:
exiftool -L -copyright="©2016 Jim Berry" File
-L Параметр является ярлыком для того, чтобы Exiftool использовал наборы символов Latin, Latin1 и cp1252. Я думаю, что вы должны быть в состоянии установить тег XMP:Rights в той же команде без проблем, так как теги XMP должны быть записаны как UTF-8 в любом случае. Но проверить это, чтобы быть уверенным.

Для полноты картины есть также тег IPTC:CopyrightNotice. Если вы напишите этот тег, лучше всего добавить -codedcharacterset=utf8 а также заставить IPTC:CopyrightNotice записываться как UTF-8.

Другие вопросы по тегам