此功能是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);
}
}
可否請您指出確切的點弦得到削減? –
我不太確定。我知道這是這個功能。它很可能發生在初始化數據集和行計數器註釋之後。 – Unckmania