nodejs로 중국어 파일을 읽는 데 시간이 많이 걸렸습니다. 인터넷에 다양한 해결 방법이 있었지만 그 중 아무 것도 해결되지 않았습니다.
다음 세 가지 지식 포인트가 프로젝트에서 추출됩니다. 스크립트를 별도로 실행하려면 중국어 변환 모듈을 설치하는 등 글로벌 모드를 사용하여 모듈을 설치해야 합니다. 앞으로 다른 일들도):
npm install -g nodemailer
npm install -g node-schedule
1. Nodejs에서 중국어 파일 인코딩 문제를 읽는 중
텍스트 파일(물론 csv 파일 등도 가능) test.txt, text.csv를 준비하고, nodejs 파일 test.js는 다음과 같습니다.
var fileStr = fs.readFileSync('D:\test.csv', {encoding:'binary'});
var buf = new Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');
console.log(str);
파일을 직접 읽어보시면 내용이 깨져서 못믿으시면 시도해보셔도 됩니다. 먼저 바이너리 인코딩을 사용하여 균일하게 읽은 다음 GBK를 사용하여 디코딩해야 합니다. 실행 결과는 다음과 같습니다.
더 보기: iconv-lite
2. nodejs로 이메일 보내기
아무 말도 하지 말고 코드를 직접 작성하세요. 간단하고 이해하기 쉽습니다.
//이메일 구성
var Transporter = nodemailer.createTransport('SMTP',{
서비스: '163qiye',
인증: {
사용자: 'zhoujie0111@126.com',
패스: '123456',
}
});
//이메일 보내기
var sendmail = 함수(html){
var 옵션 = {
~ >
받는사람:"zhoujie0111@126.com,zhoujie0111@126.com",
참조:'zhoujie0111@126.com'
}
option.subject = '5년 전 세운 5개년 계획'
option.html=html;
Transporter.sendMail(옵션, 함수(오류, 응답)){
if(오류){
console.log("실패: " error);
}그 외{
console.log("성공: " response.message);
}
});
}
sendmail("이메일 내용:
2012년에 약속하고 2011년에 계획했기 때문에 2013년에 했어야 했던 2014년 목표를 2015년 목표로 달성하는 것입니다!");
3. nodejs 예약 작업
이를 사용하는 방법은 다양합니다. Linux crontab 구문에 익숙하다면 훨씬 더 간단할 것입니다. 내 Zou의 이 예는 매우 조화롭습니다. 하하:
/*방법 1:
작업을 실행할 특정 시간을 지정하세요
*/
var 일정 = require('node-schedule');
var 날짜 = 새 날짜(2014, 12, 31, 16, 1, 0);
var j = Schedule.scheduleJob(날짜, 함수(){
console.log('2015년이 곧 다가옵니다.');
});
/*방법 2:
매 시간마다 실행하는 데 몇 분
*/
var rule = 새 일정.RecurrenceRule();
rule.분 = 1;
var j = Schedule.scheduleJob(rule, function(){
console.log('지금은 정말 행복해요!');
});
/*방법 3:
크론탭과 유사
*/
var j = Schedule.scheduleJob('1 * * * *', function(){
console.log('애프터눈 티 시간입니다!');
});
실행 결과가 더 조화로워요, 하하:
첫 번째 예약된 작업이 왜 실행되지 않는지 궁금하지 마세요. 이는 그리니치 표준시이므로 실행되기 전에 8시간을 기다려야 합니다. 하하~~
더 보기: 노드-스케줄
하루 동안 슬픈 음악을 듣고 나면 들을수록 행복해진다. ㅎㅎ