Nodejsを使用してUTF-16でエンコードされたファイルを読み取る必要があります(非常に大きいため、チャンクで)。ファイルのデータはmongodbに送られるので、utf-8に変換する必要があります。グーグルからすると、これはNodeでサポートされていないのは明白であるように思われるので、自分でバッファーから生データを変換する必要があります。しかし、私はまた、より良い方法があるべきだと思います、そして私はそれを見つけていません。助言がありますか?
ありがとう。
Nodeは、JavaScriptでサポートされているUTF-16サブセットであるUCS-2をサポートしています。それを使ってみてください。
これを参照してください プルリクエスト 。
テキストファイルを読み取るときに使用する通常のutf8
をutf16le
またはucs2
に置き換えます。
var fileContents = fs.readFileSync('import.csv','utf16le')
または:
var fileContents = fs.readFileSync('import.csv','ucs2')
また、Googleの場合:解析されたファイルに追加の�(疑問符)文字が表示される場合は、これが問題の原因である可能性があります。ファイルをUTF16/UCS2として読み取ると、余分な文字が消えます。