Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 字符串未在typescript中正确编码_Angular_Typescript_Encoding_Utf 8 - Fatal编程技术网

Angular 字符串未在typescript中正确编码

Angular 字符串未在typescript中正确编码,angular,typescript,encoding,utf-8,Angular,Typescript,Encoding,Utf 8,我的应用程序是用Angular 7和Typescript构建的 我在typescript文件中有以下代码 this.confirmationDialogService.confirm(null, 'er du sikker på, at du vil gøre denne ændring', "Acceptere", "Afvise") 但是,当我发布它时,字符串并没有在浏览器中正确编码和呈现 this.confirmationDialogService.confirm(null, 'er d

我的应用程序是用Angular 7和Typescript构建的

我在typescript文件中有以下代码

this.confirmationDialogService.confirm(null, 'er du sikker på, at du vil gøre denne ændring', "Acceptere", "Afvise")
但是,当我发布它时,字符串并没有在浏览器中正确编码和呈现

this.confirmationDialogService.confirm(null, 'er du sikker p�, at du vil g�re denne �ndring', "Acceptere", "Afvise")
tsconfig.json

{
  "compileOnSave": false,
  "include": [
    "./src", "manager/IocDataMapperModule.cs", "../TV2.DataLayer/IUserSkillDataLayer.cs", "../TV2.DataLayer.Mongo/UserSkillDataLayer.cs"
  ],
  "compilerOptions": {
    "baseUrl": "./",
    "importHelpers": true,
    "outDir": "./scripts/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "charset": "utf8",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

您可能需要从角度使用i18n。这是官方文档:,并将应用程序的区域设置设置为所需的位置。

有几件事情可能会出错,需要检查:

  • 文本编辑器可能使用ISO-8851-1编码,但配置文件指示Typescript将其视为Unicode。在文本编辑器中检查编码

  • 您的web服务器可能配置不正确。在浏览器中使用检查器,记录网络请求并检查主HTML文件是否使用UTF-8。其中一个响应头应该是:
    内容类型:text/html;字符集=UTF-8


如果您无法控制web服务器,则可以在
标记中使用
字符集
属性


当我试图直接从
文件运行HTML和JavaScript时,我不得不这样做:
URL。

i18n是关于翻译文本、日期等的。它与文本编码、UTF-8等无关。我在visualstudio的文件菜单中启用了“高级保存选项”,并将编码更改为
Unicode(带签名的UTF-8)-代码页65001
,现在它正在工作。但是,我不明白为什么有必要这样做?您编写的源代码也有编码。和所有其他文本文件一样,编码不保存在文件本身中。因此,当Typescript编译器读取源代码时,需要告诉它编码。您已声明Typescript输入文件的编码为“utf8”。所以你需要保存它们。另一个选项是将编译器选项更改为
charset:“iso-8859-1”
。据我所知,Typescript编译器的输出文件也是UTF-8格式的。