Эта функция является частью плагина ProjectManager в WordPress.Я пытаюсь импортировать CSV-файл, но этот CSV-файл содержит акценты, потому что он сделан из имен, таких как "Adrián" или "Damián".Но когда этот код проходит эти имена, он удаляет все из буквы с акцентом, оставляя «Адри» и «Дами».
Есть ли здесь что-нибудь, что я мог бы изменить, чтобы устранить эту ошибку?
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 );
}
}