Angular2-如何在组件内进行UTF-8编码

Angular2-如何在组件内进行UTF-8编码,angular,Angular,我已经在main index.html文件中添加了,它正确地编码了在该文件中键入的特殊字符(如é、ç或ç),而没有使用ascii编码,如é 然而,组件模板似乎失去了对非ascii类型的特殊字符的编码 我并没有因为ascii解决方案而感到沮丧,但我对似乎阻止在组件模板中进行字符编码的逻辑感到好奇。正如Mark的评论和plunker所指出的,问题并没有发生在原始的dev目录中 将html文件“打包”到/dist目录时出现了字符编码问题 我的解决方案是使用gulp-utf8-convert

我已经在main index.html文件中添加了
,它正确地编码了在该文件中键入的特殊字符(如é、ç或ç),而没有使用ascii编码,如
é

然而,组件模板似乎失去了对非ascii类型的特殊字符的编码


我并没有因为ascii解决方案而感到沮丧,但我对似乎阻止在组件模板中进行字符编码的逻辑感到好奇。

正如Mark的评论和plunker所指出的,问题并没有发生在原始的dev目录中

将html文件“打包”到/dist目录时出现了字符编码问题

我的解决方案是使用gulp-utf8-convert


在终端中运行以下代码,将所有.ts文件编码更改为UTF-8

for file in ./**/*.ts; do  iconv -f us-ascii -t utf-16 "$file" -o "${file}"; done
for file in ./**/*.ts; do  iconv -f utf-16le -t utf-8 "$file" -o "${file}"; done

它应该可以工作(我刚刚在Plunker中测试过)。如果您在index.html中添加了é、ç或á,您是否看到了这些字符?如果不是,则可能是服务器的配置问题。我认为这不是一个角度问题。谢谢马克的快速回复。是的,我在索引文件中看到了é、ç和ç字符。例如,它们不能在一个示例中正确显示。好吧,值得一提的是,这里有一个正在工作的plunker:您的代码有什么不同吗?再次感谢您指导我的调查。问题出在我创建dist文件夹文件时的吞咽过程中。我已经将gulp-utf8-convert添加到管道中,以使/dist html文件正确编码。我在Angular CLI中遇到了类似的问题-我也有同样的问题,但在Webpack中
for file in ./**/*.ts; do  iconv -f us-ascii -t utf-16 "$file" -o "${file}"; done
for file in ./**/*.ts; do  iconv -f utf-16le -t utf-8 "$file" -o "${file}"; done