在Windows上编码gulp的问题

Jes*_*pez 7 windows character-encoding visual-studio web gulp

我在使用gulp版本3.8.11 处理的Visual Studio 2013 wep应用程序项目中有几个源文件.这些文件是Unicode (UTF-8 with signature) - Codepage 65001编码的文本文件.处理后,它们显示为Windows 1252编码的文本文件.

例如,给定以下UTF-8 encoded src/hello.html文件:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, my name is Jesús López</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是它在浏览器上的外观:

在此输入图像描述

使用以下内容gulpfile.js:

var gulp = require('gulp');

gulp.task('build', function () {
    gulp.src('src/hello.html')
        .pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)

gulp build命令行上执行后,这就是它在浏览器上的显示方式:

在此输入图像描述

如何解决此编码问题?请帮忙.

小智 15

我对.cshtml文件有同样的问题,我发现这是因为缺少UTF-8 BOM.这可以很容易地添加一个名为gulp-header的gulp-plugin.

var gulp = require('gulp');
var header = require('gulp-header');

gulp.task('build', function () {
    gulp.src('src/hello.html')
        .pipe(header('\ufeff'));
        .pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)