2011-09-05 41 views
-1

此功能是wordpress中projectmanager插件的一部分。我试图导入一个csv文件,但是这个csv文件包含重音符号,因为它是由诸如“Adrián”或“Damián”之类的名称构成的。但是,当这段代码通过这些名字时,它会从离开“Adri”和“Dami”口音的字母中删除所有内容。Wordpress PHP函数删除重音后的字母。

这里有什么我可以改变以消除这个错误?

function importDatasets($project_id, $file, $delimiter, $cols) 
{ 
    if (!current_user_can('import_datasets')) { 
     $this->setMessage(__("You don't have permission to perform this task", 'projectmanager'), true); 
     return; 
    } 


    if ($file['size'] > 0) { 
     /* 
     * Upload CSV file to image directory, temporarily 
     */ 
     $new_file = parent::getFilePath().'/'.basename($file['name']); 
     if (move_uploaded_file($file['tmp_name'], $new_file)) { 
      $handle = @fopen($new_file, "r"); 
      if ($handle) { 
       if ("TAB" == $delimiter) $delimiter = "\t"; // correct tabular delimiter 

       $i = 0; $l=0; // initialize dataset & line counter 
       while (!feof($handle)) { 
         $buffer = fgets($handle, 4096); 
         $line = explode($delimiter, $buffer); 

         if ($l > 0 && $line) { 
         $name = $line[0]; 
         $categories = empty($line[1]) ? '' : explode(",", $line[1]); 
      /* 
         * get Category IDs from titles 
         */      
         $cat_ids = array(); 
         if (!empty($categories)) { 
          foreach ($categories AS $category) { 
          $cat_ids[] = get_cat_ID($category); 
           } 
          } 

         // assign column values to form fields 
         foreach ($cols AS $col => $form_field_id) { 
          $meta[$form_field_id] = $line[$col]; 
         } 

         if ($line && !empty($name)) { 
          $this->addDataset($project_id, $name, $cat_ids, $meta); 
          $i++; 
         } 
        } 
        $l++; 
       } 
       fclose($handle); 

       $this->setMessage(sprintf(__('%d Datasets successfully imported', 'projectmanager'), $i)); 
      } else { 
       $this->setMessage(__('The file is not readable', 'projectmanager'), true); 
      } 
     } else { 
      $this->setMessage(sprintf(__('The uploaded file could not be moved to %s.'), parent::getFilePath())); 
     } 
     @unlink($new_file); // remove file from server after import is done 
    } else { 
     $this->setMessage(__('The uploaded file seems to be empty', 'projectmanager'), true); 
    } 
} 
+0

可否请您指出确切的点弦得到削减? –

+0

我不太确定。我知道这是这个功能。它很可能发生在初始化数据集和行计数器注释之后。 – Unckmania

回答