Ответ 1
Node поддерживает UCS-2, подмножество UTF-16, поддерживаемое JavaScript. Попробуйте использовать это.
Смотрите запрос на перенос.
Мне нужно прочитать файл, закодированный в UTF-16, с помощью nodejs (в кусках, потому что он очень большой). Данные из файла войдут в mongodb, поэтому мне нужно будет преобразовать его в utf-8. От googling кажется, что это просто не поддерживается Node, и мне придется прибегнуть к преобразованию необработанных данных из буфера. Но я также думаю, что должен быть лучший способ, и я просто не нахожу его. Любые предложения?
Спасибо.
Node поддерживает UCS-2, подмножество UTF-16, поддерживаемое JavaScript. Попробуйте использовать это.
Смотрите запрос на перенос.
Замените обычный utf8
, который вы получили при чтении текстового файла с помощью ucs2
:
var fileContents = fs.readFileSync('import.csv','ucs2')
Кроме того, для Google: любой, кто получает дополнительные символы (вопросительный знак), появляющиеся в анализируемом файле, вероятно, является причиной вашей проблемы. Прочитайте файл как UTF16/UCS2, и дополнительные символы исчезнут.