此功能是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