js读取文件时如何设置编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js读取文件时如何设置编码相关的知识,希望对你有一定的参考价值。

需求是这样的:用js去读用户指定的文件(暂时只讨论html格式的文件)
var getAXO = new ActiveXObject("Scripting.FileSystemObject");
getF = getAXO.OpenTextFile(file1); //file1是用户指定文件的路径
用这个读出来以后,如果页面的charset是utf-8的则读出中文都是乱码,请问下各位高手如何在读取的时候动态的通过设置getF的某个属性把cahset(或是其他什么属性)设置为gb2312。谢谢高人指点!

参考技术A 调用JS的页面格式请设置为gb2312,如<%@ page language="java" contentType="text/html;charset=gb2312"%>,如果JS是作为一个文件存放的,一般默认为GB2312,如果JS文件为其它格式,可用工具(如editplus)"另存为"来改变它的格式.然后覆盖.若JSP页面出现乱码,可以用String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"GB2312");来做转码.
操作之前请做好备份!
更好的答案有请其它高手..

如何让运行 Node.js 脚本的 cron 作业从 .env 文件中读取变量?

【中文标题】如何让运行 Node.js 脚本的 cron 作业从 .env 文件中读取变量?【英文标题】:How do you get cron job running Node.js script to read variables from .env file? 【发布时间】:2017-10-25 05:26:12 【问题描述】:

我目前有一个运行 Node.js 脚本的 cron 作业设置。 Node.js 脚本使用dotenv 包来读取具有一些API 密钥的.env 文件。

当我从命令行运行 Node.js 脚本时,变量会从 .env 文件中正确读取并与我的 Node.js 脚本一起使用。

但是当 cron 运行 Node.js 脚本时,我尝试设置的变量返回未定义。

00 05 * * * /home/michaellee/.nvm/versions/node/v6.10.0/bin/node /home/michaellee/index.js >> /home/michaellee/output.log

.env 文件与index.js 文件位于同一级别。

cron 作业是使用来自用户 michaelleecrontab -e 设置的,该用户在 Ubuntu 上拥有文件。

【问题讨论】:

【参考方案1】:

我只是更改了 dotenv 配置上的路径,它对我有用

const dotenv = require('dotenv');    
dotenv.config( path: __dirname + '/../.env' );

【讨论】:

非常好!我很高兴能帮助你! :) 刚遇到这个问题,并应用此修复程序取得了巨大成功。谢谢!谁能解释为什么这是必要的?与手动运行相比,cron 在运行我的脚本时有何不同?【参考方案2】:

我认为从.env 文件中取出内容并将它们加载到 JSON 文件中会不会那么令人头疼。然后,您只需 require JSON 文件并加载数据。每个 & 都不需要任何插件,它可以与 Cron 无缝工作。

【讨论】:

感谢@Colby 的建议!我试了一下,效果非常好。我担心将 API 密钥放在 JSON 文件中。然后我意识到,我只需要忽略它,让它永远不会被版本化。 不客气,我很高兴它对你有用!我发现任何 Node 通常在使用 JSON 格式时效果最好。祝你好运!

以上是关于js读取文件时如何设置编码的主要内容,如果未能解决你的问题,请参考以下文章

nodejs 如何读取文件编码信息

js,nodejs如何判断文件是啥编码格式

易语言 如何读取网页源文件的代码!

Java笔记-解决读取文件时中文乱码问题(InputStreamReader设置编码)

js读取文件流如何传入后台

如何读取具有动态名称的文件,同时避免在 R 中进行硬编码?