diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/BiblioIsisDb.php | 18 | ||||
-rw-r--r-- | classes/PhpIsisDb.php | 6 |
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); + } } |