Специальные символы в терминале
Я пытаюсь установить уведомление об авторских правах на метаданные с помощью 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.