使用gulp將檔案轉碼至utf-8格式
阿新 • • 發佈:2018-11-20
在前兩篇文章中,我除了看《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