TypeScript 本地化问题
Posted
技术标签:
【中文标题】TypeScript 本地化问题【英文标题】:TypeScript localization issues 【发布时间】:2012-10-09 21:38:05 【问题描述】:如果我使用打字稿并在那里声明一个字符串,并将该字符串设置为一些俄语文本。 然后 typescript 编译器编译为 javascript,而不考虑我在解决方案中使用的编码。 所以我得到的是“rombic 符号中的问题”而不是普通字母。
那么,你知道如何解决它吗?
【问题讨论】:
你能发布你到目前为止所做的代码吗? 【参考方案1】:使用 Visual Studio 添加时,TypeScript 默认会创建一个 ANSI 编码文件。 (或 Visual Studio 标准创建 ansi 文件)
修复在记事本中打开文件并使用“另存为”并将编码更改为 UTF8 或 UNICODE。
【讨论】:
【参考方案2】:您需要将文件编码更改为 UNICODE。 编译:
var x = "привет мир";
class foo
public done()
return "привет мир";
给我下面的JS:
var x = "привет мир";
var foo = (function ()
function foo()
foo.prototype.done = function ()
return "привет мир";
;
return foo;
)();
【讨论】:
我应该在哪里将编码更改为 UNICODE? 你知道,有什么奇怪的。 TypeScript 编辑窗口显示生成的 JS - 在那里我看到了损坏的编码。在浏览器 UI 中也是如此(如果我发出警告的话)。但是当我在浏览器中打开生成的 JSfile 时 - 每个俄语字母都可以!奇怪的!也许浏览器会即时纠正编码。 将带有俄语字符的代码复制粘贴到记事本中。点击 ctrl+s 它将创建一个 UNICODE 文件。这在浏览器中也适用于我。如果有问题,请检查您的浏览器设置。【参考方案3】:当我使用 cscript 运行 tsc.js 编译器时,我遇到了同样的问题。
我发现 tsc 的输入文件应该是 utf-8 带签名 (BOM) 或 unicode-16 编码。
如果我使用 nodejs 运行 tsc.js,即使没有签名,输入文件也可能是 utf-8 格式,一切正常。
【讨论】:
以上是关于TypeScript 本地化问题的主要内容,如果未能解决你的问题,请参考以下文章