Maison >interface Web >js tutoriel >Lecture des problèmes d'encodage de fichiers chinois, envoi d'e-mails et exemples de tâches planifiées dans Nodejs_node.js

Lecture des problèmes d'encodage de fichiers chinois, envoi d'e-mails et exemples de tâches planifiées dans Nodejs_node.js

WBOY
WBOYoriginal
2016-05-16 16:22:411469parcourir

Il m'a fallu beaucoup de temps pour lire les fichiers chinois avec nodejs. Il y avait différentes solutions sur Internet, mais aucune n'a fonctionné pour moi. Heureusement, cela a été résolu.

Les trois points de connaissances suivants sont extraits du projet. Si vous souhaitez exécuter le script séparément, vous devez utiliser le mode global pour installer le module, comme l'installation du module de conversion chinois (vous devrez également le faire pour d'autres choses dans le futur) :

Copier le code Le code est le suivant :

npm install -g iconv-lite

npm install -g nodemailer

npm install -g node-schedule

1. Nodejs lit le problème d'encodage des fichiers chinois

Préparez un fichier texte (bien sûr il peut aussi s'agir d'un fichier csv, etc.) test.txt et text.csv, et le fichier nodejs test.js est le suivant :

Copier le code Le code est le suivant :

var iconv = require('iconv-lite');
var fs = require('fs');

var fileStr = fs.readFileSync('D:\test.csv', {encoding:'binary'});
var buf = nouveau Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');

console.log(str);

Si vous lisez le fichier directement, il sera tronqué. Si vous n'y croyez pas, vous pouvez l'essayer. Il est nécessaire de lire d'abord uniformément en utilisant le codage binaire, puis d'utiliser GBK pour décoder. Les résultats en cours d'exécution sont les suivants :

Voir plus : iconv-lite

2. Envoyer un e-mail avec nodejs

Ne dites rien, écrivez simplement le code directement, c'est simple et facile à comprendre :

Copier le code Le code est le suivant :

var nodemailer = require('nodemailer');

//Configurer l'e-mail
var transporteur = nodemailer.createTransport('SMTP',{
Service : '163qiye',
authentification : {
        utilisateur : 'zhoujie0111@126.com',
Passe : '123456',
>
});

//Envoyer un email
var sendmail = fonction(html){
option var = {
                                                                                                                                                                                     De :"zhoujie0111@126.com",
                 à :"zhoujie0111@126.com,zhoujie0111@126.com",
              cc:'zhoujie0111@126.com'
>
​ option.subject = 'Le plan quinquennal que j'ai élaboré il y a 5 ans'
​ option.html= html;
Transporter.sendMail(option, fonction(erreur, réponse){
          si(erreur){
console.log("échec : " erreur);
         }autre{
console.log("succès : " réponse.message);
>
});
>

//Appeler pour envoyer un email
sendmail("Contenu de l'e-mail :
Mon objectif pour 2015 est d'atteindre les objectifs de 2014, ce que j'aurais dû faire en 2013 car j'ai fait une promesse en 2012 et prévu en 2011!");

Voir plus : nodemailer

3. tâches planifiées nodejs

Il existe de nombreuses façons de l'utiliser. Si vous êtes familier avec la syntaxe Linux crontab, ce sera encore plus simple. Cet exemple de mon Zou est très harmonieux, haha ​​:

Copier le code Le code est le suivant :

var planning = require('node-schedule');

/*Méthode 1 :
Spécifiez un certain temps pour exécuter la tâche
*/
var planning = require('node-schedule');
var date = nouvelle Date(2014, 12, 31, 16, 1, 0);

var j = planning.scheduleJob(date, function(){
console.log('2015 viendra bientôt.');
});

/*Méthode 2 :
Combien de minutes de chaque heure exécuter
*/
var règle = nouveau planning.RecurrenceRule();
règle.minute = 1;
var j = planning.scheduleJob(rule, function(){
console.log('Je suis très heureux maintenant !');
});

/*Méthode 3 :
Semblable à crontab
*/
var j = planning.scheduleJob('1 * * * *', function(){
console.log('C'est l'heure du thé de l'après-midi !');
});

Le résultat en course à pied est plus harmonieux, haha ​​:

Ne vous demandez pas pourquoi la première tâche planifiée n'est pas exécutée, car c'est l'heure de Greenwich, elle doit attendre 8 heures avant de s'exécuter. Haha~~

Voir plus : node-schedule

Après avoir écouté de la musique triste pendant une journée, plus je l'écoute, plus je deviens heureux. Haha

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn