aboutsummaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/BiblioIsisDb.php18
-rw-r--r--classes/PhpIsisDb.php6
2 files changed, 21 insertions, 3 deletions
diff --git a/classes/BiblioIsisDb.php b/classes/BiblioIsisDb.php
index d7fdd1c..81db3e7 100644
--- a/classes/BiblioIsisDb.php
+++ b/classes/BiblioIsisDb.php
@@ -90,6 +90,9 @@ class BiblioIsisDb implements IsisDb {
// Tag results.
$data = $this->tag($results);
+ // Charset conversion.
+ array_walk_recursive($data, array(__CLASS__, 'charset'));
+
// Return the result.
return $data;
}
@@ -184,4 +187,19 @@ class BiblioIsisDb implements IsisDb {
}
return $value;
}
+
+ /**
+ * Charset conversion.
+ *
+ * Converts a string from the database charset to UTF-8.
+ *
+ * @param $data
+ * String to be converted.
+ *
+ * @return
+ * String converted to UTF-8.
+ */
+ function charset(&$data) {
+ $data = iconv($this->format['db']['charset'], 'UTF-8', $data);
+ }
}
diff --git a/classes/PhpIsisDb.php b/classes/PhpIsisDb.php
index 1f64075..50fdf49 100644
--- a/classes/PhpIsisDb.php
+++ b/classes/PhpIsisDb.php
@@ -131,7 +131,7 @@ class PhpIsisDb implements IsisDb {
* @return
* String converted to UTF-8.
*/
- function charset($data) {
- return iconv($data, $this->format['db']['charset'], 'UTF-8');
- }
+ function charset(&$data) {
+ $data = iconv($this->format['db']['charset'], 'UTF-8', $data);
+ }
}