字符串未正确编码为打字稿

时间:2019-09-05 09:05:22

标签: angular typescript encoding utf-8

我的应用程序是在Angular 7中使用Typescript构建的。

我在打字稿文件中有以下代码。

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

但是,当我发布它时,字符串没有在浏览器中正确编码和呈现。

{
  "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"
    ]
  }
}

tsconfig.json

    intent.putExtra("pins",pin); //here `pins` is key use it to get your desired value

3 个答案:

答案 0 :(得分:1)

某些事情可能出错,需要检查:

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

  • 您的Web服务器可能配置不正确。在浏览器中使用检查器,记录网络请求,并检查主HTML文件是否使用UTF-8。响应标头之一应为:Content-Type: text/html;charset=UTF-8

答案 1 :(得分:0)

您可能需要从角度使用i18n。这是官方文档:https://angular.io/guide/i18n,并将您应用的语言环境设置为所需的位置。

答案 2 :(得分:0)

如果您无法控制网络服务器,则可以在 charset 标记中使用 <script> 属性。

<script src="Script.js" charset="UTF-8"></script>

当我尝试直接从 file: 网址运行 HTML 和 JavaScript 时,我不得不这样做。