summaryrefslogtreecommitdiff
path: root/modules/exif/helpers
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-06-27 12:14:56 -0700
committerBharat Mediratta <bharat@menalto.com>2010-06-27 12:14:56 -0700
commitf75ce45b6b6b848840d9a1688ca382a49de4f338 (patch)
tree8329c399364800df21cf5f1b0d02582f82e2a56d /modules/exif/helpers
parent5335e4c0b4bffeeeb8667ed706b5e8702de00ce9 (diff)
When detecting encodings, give priority to ISO-8859-1 which seems to
solve the umlaut problem in IPTC data. Fixes ticket #1144.
Diffstat (limited to 'modules/exif/helpers')
-rw-r--r--modules/exif/helpers/exif.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/exif/helpers/exif.php b/modules/exif/helpers/exif.php
index 943feba7..aa77b42e 100644
--- a/modules/exif/helpers/exif.php
+++ b/modules/exif/helpers/exif.php
@@ -36,7 +36,8 @@ class exif_Core {
foreach(self::_keys() as $field => $exifvar) {
if (isset($exif_raw[$exifvar[0]][$exifvar[1]])) {
$value = $exif_raw[$exifvar[0]][$exifvar[1]];
- if (function_exists("mb_detect_encoding") && mb_detect_encoding($value) != "UTF-8") {
+ if (function_exists("mb_detect_encoding") &&
+ mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") {
$value = utf8_encode($value);
}
$keys[$field] = Input::clean($value);
@@ -59,7 +60,8 @@ class exif_Core {
foreach (array("Keywords" => "2#025", "Caption" => "2#120") as $keyword => $iptc_key) {
if (!empty($iptc[$iptc_key])) {
$value = implode(" ", $iptc[$iptc_key]);
- if (function_exists("mb_detect_encoding") && mb_detect_encoding($value) != "UTF-8") {
+ if (function_exists("mb_detect_encoding") &&
+ mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") {
$value = utf8_encode($value);
}
$keys[$keyword] = Input::clean($value);