前台上传到服务器的txt文件默认用了UTF-8的格式保存,文件内部的中文全部变了乱码,用GB 2312打开就正常了,但是用node进行fs.readFile操作就按UTF-8的形式读取了.查了一下fs好像不支持读取GB 2312编码的. 所以请问怎么在用户上传的时候以UTF-8的编码格式保存且不出现中文乱码呢? 这是刚上传的,UTF-8编码打开的文件内容: 这是切换GB 2312打开同一文件的内容:
一般保存的时候不会刻意去转文件的编码,只是直接写二进制流,因此你上传的时候是什么编码,保存的时候就是什么编码,你的例子也认证了这个观点。要解决这个问题无非以下几种方案:
另外nodejs的库iconv-lite是支持GB2312的
2.1m questions
2.1m answers
60 comments
57.0k users