Try to use fgetcsv() instead of own function (node_import_read_from_file()). The many issues with non-UTF8 files may warrant a more clean approach, eg where one can set the character encoding of the imported file (which defaults to UTF8 or autodetect). Using hook_requirements() we could detect whether the fgetcsv() is UTF8 clean (check from what PHP version this is true) and use it instead of the builtin one.
Comments
Comment #1
Robrecht Jacques commented