使用gulp將文件轉碼至utf-8格式
阿新 • • 發佈:2018-11-21
合同 sam tab fault 類型 教程 pack htm 目錄 字樣
在前兩篇文章中,我除了看《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格式