I am trying to write a node application that reads in a set of files, breaks them into lines and puts the lines in an array. Pretty simple. It works with a large number of files, except for some SQL files that I work with. For some reason, I seem to get some kind of unicode output when I split the lines. The application looks something like this:
fs = require("fs"); var data = fs.readFileSync("test.sql", "utf8"); console.log(data); lines = data.split("\n"); console.log(lines);
The input file looks something like this:
use whatever go
The result is as follows:
use whatever go [ ' u\u0000s\u0000e\u0000 \u0000w\u0000h\u0000a\u0000t\u0000e\u0000v\u0000e\u0000r\u0000', '\u0000g\u0000o\u0000', '\u0000' ]
As you can see, there is some unrecognized character at the beginning of the file. After reading the data and direct output, it looks good, except for this symbol. However, if I then try to split it into strings, I get all these characters in unicode format. Basically, these are all actual characters with "\ u0000" at the beginning of each of them.
I have no idea what is going on here, but it looks like it has something to do with the characters of the file itself. If I copy and paste the text of the file into another new file and run the application in a new file, it works fine. I assume that everything that causes this problem is removed during the copy and paste process.
source share