Angular 字符串未在typescript中正确编码
我的应用程序是用Angular 7和Typescript构建的 我在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
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
标记中使用字符集
属性
当我试图直接从
文件运行HTML和JavaScript时,我不得不这样做:
URL。i18n是关于翻译文本、日期等的。它与文本编码、UTF-8等无关。我在visualstudio的文件菜单中启用了“高级保存选项”,并将编码更改为Unicode(带签名的UTF-8)-代码页65001
,现在它正在工作。但是,我不明白为什么有必要这样做?您编写的源代码也有编码。和所有其他文本文件一样,编码不保存在文件本身中。因此,当Typescript编译器读取源代码时,需要告诉它编码。您已声明Typescript输入文件的编码为“utf8”。所以你需要保存它们。另一个选项是将编译器选项更改为charset:“iso-8859-1”
。据我所知,Typescript编译器的输出文件也是UTF-8格式的。