NodeJS "파쇄"를 사용하여 POST 요청에서 UTF8로 인코딩 된 텍스트 파일을 제출하는 데 문제가 있습니다.내 NodeJS POST 요청의 마지막 2 글자가 제거 된 이유는 무엇입니까?
게시하려고하는 텍스트 내용이 클라이언트 측에서 잘 보이는 것처럼 보입니다. client.post를 호출하기 직전 화면은 서버가 얻는 텍스트 파일의 내용이지만 마지막 2 문자는 항상 누락/잘린다. ANSI 텍스트 파일에는 문제가 없습니다. textfile을 UTF8에서 ANSI로 변환하면 서버에 도달 할 때 텍스트 파일이 완료됩니다. (readTextFile.php에 의해) 서버에 받았다 무엇
var Shred = require('shred');
var client = new Shred();
var textToPost = fs.readFileSync("myfile.txt", 'utf8');
console.log (textToPost);
client.post({
url: "http://www.example.com/readTextFile.php",
headers: { 'Content-Type': 'application/x-subrip'},
content: textToPost,
on: {
200: function (response) {
console.log("posted ok");
console.log(response.content.body);
},
500: function (response) {
asyncCb(new Error('bad response\n' + response.content.body));
}
}
밖으로 제거 마지막 두 문자와 MYFILE.TXT의 내용입니다. 이유를 이해할 수 없습니다. 이것은 다운 스트림에 큰 영향을 미치므로 어떤 누덕 누덕 해결책이 도움이되지 않습니다.
textToPost의 내용이 콘솔에 기록 될 때 "?" 내용 앞에. 파일이 ANSI로 인코딩 된 파일 인 경우에는 나타나지 않습니다.
.. 감사합니다 도와주세요
첫 번째 문자로''? ''를 갖는 textToPost의 내용은 나쁜 기호이며, 아마도 파쇄에는 아무런 문제가 없다는 것을 의미 할 것입니다. – rdrey
UTF8에서 크기가 엉망인 바이트 순서 표시가있는 것처럼 보입니다. http://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8-without-bom – JohnnyHK
이러한 의견을 주셔서 감사합니다. 이것은 하나의 입력이 아닌 많은 수의 UTF8 텍스트 파일에서 발생하며 예,이 파일들은 모두 EF BB BF (즉, UTF8)로 이진 편집기에서 열 때 볼 수있는 BOM을 가지고 있습니다. 게시 할 때 이것이 어떻게 문제가되는지 확신하지 못함 – Tommy