Bug 379581

Summary: Unicode support to IPTC metadata is not consistent on the UI
Product: [Applications] digikam Reporter: David Shen <davidshen84>
Component: Metadata-IptcAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: ebayard63-projet
Priority: NOR    
Version: 5.5.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 7.1.0
Sentry Crash Report:
Attachments: sample image. a flower

Description David Shen 2017-05-06 13:43:59 UTC
Created attachment 105368 [details]
sample image. a flower

I have some images which IPTC tags are Unicode characters. The characters can be displayed correctly in Windows file property dialog, and the "Metadata" sidebar in digiKam. However, those character are displayed as diamond blocks beneath the image preview, and the in the "Properties" sidebar.

I saw there're some patches to add Unicode support in IPTC metadata. But it seems that patch only add the support to one place on the UI.
Comment 1 Eric Bayard 2019-02-23 10:39:04 UTC
Actually this issue is related/has been reproted several times  ex:
issues number 195508, 370558, 379050, 379581
Comment 2 caulier.gilles 2020-08-28 05:26:13 UTC
Git commit ad0ab9efeba6e2fe3bb86207a91499e4e8eb170f by Gilles Caulier.
Committed on 28/08/2020 at 05:19.
Pushed by cgilles into branch 'master'.

IPTC and Utf8 support: If a tag is string, check if global IPTC characterset is null to convert in latin1, else we expect to interpret the string as utf8.
We use std::string accessor from Exiv2 to get an Utf8 cenversion of string. If it do not work, well this problem need to be reported as UPSTREAM
to Exiv2 as pre-cenversion of string is not done in background by the library.
This patch prevent to display latin1 string with a wrong Utf8 conversion which can break some characters.
Related: bug 379050
FIXED-IN: 7.1.0

M  +27   -3    core/libs/metadataengine/engine/metaengine_iptc.cpp

https://invent.kde.org/graphics/digikam/commit/ad0ab9efeba6e2fe3bb86207a91499e4e8eb170f