gh-pages正在调动文本文件。 。 。我们的CI构建服务器将一些构建工件复制到gh页面。
在本地,我可以看到文件编码是UTF-8,如果我下载文件并打开它,它在文本编辑器中渲染就好了。
然而,在Safari,Firefox和Chrome中,特殊字符(刻度线,复选标记等)正在变得模糊不清。如何指示使用正确的文件编码?
答案 0 :(得分:1)
没有指示,浏览器就无法知道用于纯文本文件的文件编码。设置.htaccess可以提供帮助,但是依赖于Web服务器。更便携的方法是确保文本文件以UTF8字节顺序标记(BOM)开头。一种方法如下:
#!/bin/sh
if [ $# -eq 0 ];
then
echo usage $0 files ...
exit 1
fi
for file in $*;
do
echo "# Processing: $file" 1>&2
if [ ! -f "$file" ];
then
echo Not a file: "$file" 1>&2
exit 1
fi
TYPE=`file - < "$file" | cut -d: -f2`
if echo "$TYPE" | grep -q '(with BOM)';
then
echo "# $file already has BOM, skipping." 1>&2
else
( mv ${file} ${file}~ && uconv -f utf-8 -t utf-8 --add-signature < "${file}~" > "${file}" ) || ( echo Error processing "$file" 1>&2 ; exit 1)
fi
done