使用gulp将文件转码至utf-8格式
Posted wadezhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gulp将文件转码至utf-8格式相关的知识,希望对你有一定的参考价值。
在前两篇文章中,我除了看《mysql必知必会》之外,还参考了《SQL基础教程(第2版)》。但是把参考这本书里的SQL语句导进新建的数据库时遇到了点麻烦:我在运行SQL文件后发现表中中文字符全部乱码。在检查文件格式之后发现,随书给出的SQL文件的编码是GB2312……那就先得把这么些文件转成utf-8格式才能适合同样是uft8编码类型的数据库。
经过一番搜索,我找到了gulp-utf8-convert这么个插件可以将文件编码转为utf-8。随书给出的文件目录如下
├─Ch0
│ 0.sql
│ 0.txt
│
├─Ch1
│ ├─1_1
│ │ 1_1.sql
│ │ 1_2.sql
可以给出如下gulpfile.js
var gulp = require(‘gulp‘);
var utf8Convert = require(‘gulp-utf8-convert‘);
gulp.task(‘firstMenu‘,function() {
gulp.src("./Sample/*.sql")
.pipe(utf8Convert())
.pipe(gulp.dest(‘./sql基础教程‘));
});
gulp.task(‘secondMenu‘,function() {
gulp.src("./Sample/**/*.sql")
.pipe(utf8Convert())
.pipe(gulp.dest(‘./sql基础教程‘));
});
gulp.task(‘default‘, [‘firstMenu‘, ‘secondMenu‘]);
但是运行之后,发现sql基础教程
文件夹里面的文件编码并没有改过来,然后通过查看node_modules/gulp-utf8-convert/index.js
时后发现,这个插件是对文件类型有限制的,相应的解决办法是将index.js
中的第30行(v0.0.7)
var isTextFile = /^.(js|ts|coffee|css|less|sass|html?|tpl|txt|xml|json|ejs|jade|sql)$/.test(path.extname(fileName));
加上sql
,再运行一遍就可以起作用了,起作用时,可以在console里看见有红色字体的[WARN] file CreateTableShopProduct.sql is not encoded in utf-8, it may be encoded in GB2312
字样
以上是关于使用gulp将文件转码至utf-8格式的主要内容,如果未能解决你的问题,请参考以下文章