js var fs = require('fs');
var dir = fs.readdirSync('./');
console.log('这里是能显示中文的');
for (var i in dir)
console.log(dir[i]);//这里遇到中文文件名 就出乱码了
windows下正常 vps上就有这个问题 请问怎么解决
Ubuntu 12.04.2
回复 (6)
X
这个和你的程序无关,你的这个文件保存的编码方式要改下,改成utf8的,
如果你用的是Sublime, 文件->保存编码方式为->utf8就行了
S
引用 xiuxu123这个和你的程序无关,你的这个文件保存的编码方式要改下,改成utf8的, 如果你用的是Sublime, 文件 保存编码方式为 utf8就行了
首先 程序.js 是utf-8的 然后 中文的文件名 文件夹名 都是乱码
X
引用 xiuxu123这个和你的程序无关,你的这个文件保存的编码方式要改下,改成utf8的, 如果你用的是Sublime, 文件 保存编码方式为 utf8就行了
@sxd1140 我运行下了你的代码,没有问题,中文的文件和文件夹都正常啊!你的却不正常
S
已经放弃了 用英文了 感谢回复
H
Ubuntu系统,默认的编码是Utf8的,而JS里,文字的编码是Unicode的 所以觉得可能是因为这两者编码不一致造成的,可以转一下码看看。
同时代码里代码中文。
V
遇到了同样的问题. Windows 文件夹或文件名是 GBK 编码, Linux 是UTF8, fs.readdirSync encoding 不支持 GBK. 在Linux 服务器转换文件名称编码: convmv -f gbk -t utf-8 -r --notest /home/xxx -f from -t to -r 递归 --notest actually do rename the files
参与回复
登录后即可参与回复。登录