Browse Source

Fix cache bug, the content of the cache was encoded in utf8 before
converting to json and saved, resulting in double-encoded caracters in
output

Paul de Rosanbo 8 years ago
parent
commit
e59bf64c42
1 changed files with 3 additions and 3 deletions
  1. 3 3
      caches/FileCache.php

+ 3 - 3
caches/FileCache.php

@@ -8,7 +8,7 @@ class FileCache extends CacheAbstract{
     public function loadData(){
         $this->isPrepareCache();
 
-        $datas = json_decode(file_get_contents($this->getCacheFile()),true);
+        $datas = unserialize(file_get_contents($this->getCacheFile()));
         $items = array();
         foreach($datas as $aData){
             $item = new \Item();
@@ -25,9 +25,9 @@ class FileCache extends CacheAbstract{
         $this->isPrepareCache();
 
         //Re-encode datas to UTF-8
-        $datas = Cache::utf8_encode_deep($datas);
+        //$datas = Cache::utf8_encode_deep($datas);
         
-        $writeStream = file_put_contents($this->getCacheFile(), json_encode($datas));
+        $writeStream = file_put_contents($this->getCacheFile(), serialize($datas));
 
 		if(!$writeStream) {