我已将我的 Angular 应用程序嵌入到 Sharepoint 内容编辑器 Web 部件中。 该应用程序与共享点站点不在同一目录中。它托管在一个单独的网络服务器上。 Sharepoint 站点包含必要的元标记
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我还引用了我的脚本如下:
<script type="text/javascript" charset="utf-8" src='http://server/app.js'></script>
angular index.html 没有 head 和 body 标签,因为它只是嵌入到另一个页面中(尽管我用额外的 head (+meta) 和 body 标签测试了它 - 没有用)。
如果我在 index.html 中写入一些纯文本 ('Äpfel sind großartig'),它会正确显示。如果我像这样在 index.html 中放置一个跨度:
<span>{{myText}}</span>
并在我的 Controller 中设置'myText'
$scope.myText = 'Äpfel sind großartig'
我只是收到奇怪的文字(德语字符乱七八糟)。 甚至控制台文本
console.log('Äpfel...')
搞砸了。
我也在使用 kendo ui 控件,比如他们的网格。德国专栏名称(如“Geändert am”)也在那里搞砸了。
你知道如何解决这个问题吗?
非常感谢!!
最佳答案
我必须在 visual studio 中将 javascript 和 html 文件 的编码设置为 utf-8。
我通过将现有文件中的代码减少到最小的 angularjs 应用程序并将其与运行完全相同代码的新创建文件进行比较来解决这个问题。新创建的文件正确显示字符,而内部具有相同代码的旧文件则没有。所以它必须是文件本身有问题。使用 visual studio 更改文件编码的工作方式如下:
- 在 Visual Studio 中打开文件
- 文件>“高级保存选项...”
- 编码 >“Unicode(带签名的 UTF-8)- 代码页 65001”
- 好的
关于javascript - AngularJS 编码德语变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31591885/