Backupscript 1.7-2.2 Kodierung (German / Deutsch)

by Irene König @, Monday, May 28, 2018, 10:43 (2159 days ago)

Hallo zusammen!

Ich überlege, mein Forum von der 1er- auf die 2er-Version umzustellen. Es läuft seit 2006 ohne Probleme und war von Anfang an UTF8 kodiert, da auch u.a. Russisch geschrieben wird. Das Script hatte ich dementsprechend angepasst. Ich bin in PHP allerdings nicht versiert, muss ich dazusagen.

Nun mein Problem: das Backupscript geht ja davon aus, dass das 1.7-Forum ISO-8859-1 kodiert ist und kodiert also in UTF8 um. Nicht nur, dass ich das nicht brauche, es zerschießt mir logischerweise die kyrillischen Buchstaben und ersetzt sie mit einem Fragezeichen.

Könnte mir bitte jemand einen Hinweis geben, wie ich die nicht benötigte Umkodierung "abschalten" kann? Ich poste unten den entsprechenden Code-Schnippsel aus dem Script.

Backup und Einspielen in die Version 2.2 hat ansonsten problemlos geklappt, danke dafür! Auf andere Fehler habe ich noch nicht geschaut, das Problem mit der unerwünschten Umkodierung ist vorrangig.

 
class Backup 
 {
  var $start_time;
  var $check_time;
  var $file;
  var $dump = '';
  var $queries = 0;
  var $max_queries = 300;
  var $errors = Array();
 
  function Backup()
   {
    @set_time_limit(30);
    $this->start_time = time();
    $this->check_time = $this->start_time;
   }
 
  function set_max_queries($max_queries)
   {
    $this->max_queries = $max_queries;
   }
 
  function set_file($file)
   {
    $this->file = $file;
   }
 
  function assign($data)
   {
    $this->dump .= utf8_encode($data);
    $this->queries++;
 
    $now = time();
    if(($now-25) >= $this->check_time)
     {
      $this->check_time = $now;
      @set_time_limit(30);
     }
 
    if($this->queries >= $this->max_queries)
     {
      // buffer:
      $this->save();
      $this->queries = 0;
     } 
   }
 
  function save()
   {
    if($this->dump != '')
     {
      if(empty($this->file))
       {
        $this->file = 'mlf_1.7_backup_'.date("YmdHis").'.sql';
       }
      if($handle = fopen($this->file, 'a+'))
       {
        #flock($fp, 2);
        fwrite($handle, $this->dump);
        #flock($fp, 3);
        fclose($handle);
        $this->dump = '';
       } 
      else
       {
        $this->errors[] = 'Could not write backup file!';
       }     
     }
    if(empty($errors))
     {
      return true;
     }
    else
     {
      return false;
     }
   }
 } 
 
 

Complete thread:

 RSS Feed of thread