Столкнулся с проблемой, нужно было научить node_import на drupal 6 кушать файлы в кодировки ANSI убив несколько часов, решил проблему радикально, в момент загрузки файла определяю если строки в не в UTF-8 то перегнать его в эту кодировку.
Для этого нужно сделать следующее,в файле node_import.admin.inc найти функцию
function node_import_add_form_submit_upload_file($form, &$form_state) {
Заменить ее на следующую функцию
function node_import_add_form_submit_upload_file($form, &$form_state) {
$validators = array();
$dest = node_import_directory();
if (($file = file_save_upload('file_upload', $validators, $dest, FILE_EXISTS_RENAME))) {
drupal_set_message(t('New file %name uploaded to %path.', array('%name' => $file->filename, '%path' => $file->filepath)));
file_set_status($file, FILE_STATUS_PERMANENT);
$form_state['values']['fid'] = $file->fid;
}
/*Перекодировка файла если он в cp1251*/
$fp = fopen($file->filepath, 'r');
$file1 = '';
while (! feof($fp)) {
$file1 .= fgets($fp, 4096);
}
$get = mb_detect_encoding($file1, array('utf-8', 'cp1251'));
if($get != "UTF-8") {
$file_utf = iconv("cp1251","UTF-8", $file1);
$tmp_file = fopen($file->filepath, 'w+');
fwrite($tmp_file, $file_utf);
fclose($tmp_file);
$fp = fopen($file->filepath, 'r');
}
/*\Перекодировка файла если он в cp1251\*/
node_import_add_form_submit_reload($form, $form_state);
}
Рад если кому то помог, рекомендуйте друзьям 😉