Bug 379581 - Unicode support to IPTC metadata is not consistent on the UI
Summary: Unicode support to IPTC metadata is not consistent on the UI
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Iptc (show other bugs)
Version: 5.5.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-06 13:43 UTC by David Shen
Modified: 2020-08-28 05:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.1.0


Attachments
sample image. a flower (113.26 KB, image/jpeg)
2017-05-06 13:43 UTC, David Shen
Details

Note You need to log in before you can comment on or make changes to this bug.
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