我使用Polymer在Dart中的String上有希腊文字,为什么它在浏览器上显示错误?

时间:2014-04-01 15:55:07

标签: dart dart-polymer

我的Dart代码上有以下字符串,使用Polymer:

@observable String title = "Καλώς Ήρθατε Ξανά!";

但这是我在浏览器上看到的内容:

Καλώς ΉÏθατε Ξανά!

我错过了什么?

当文本使用常规拉丁字符时,一切都很完美。

先谢谢你

3 个答案:

答案 0 :(得分:2)

试试这个:

导入:

import 'dart:convert' show UTF8;

<强>代码:

List<int> encoded = UTF8.encode('Καλώς Ήρθατε Ξανά!');
@observable String title = UTF8.decode(encoded);

短代码:

@observable String title = UTF8.decode(UTF8.encode('Καλώς Ήρθατε Ξανά!'));

这应该将您的字符串编码为UTF8,以便它在屏幕上正确显示。

答案 1 :(得分:1)

我和法国人有同样的问题。 将charset设置为HTML文件头(默认为ISO-8859-1)

短:

<meta charset="utf-8">

长:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

这应该可以解决这个问题。 BTW中的所有字符串都已经是UTF8

答案 2 :(得分:0)

就像@Akshay对他回应的评论一样:

  

它一定是Dartium中的一个错误,我发现了这个:   code.google.com/p/dart/issues/detail?id=14948

我把它作为JS运行并且正确显示了希腊字符串。 (不需要任何编码,或者只需使用String)。

所以,我在Chromium浏览器上运行JS版本只是为了检查......也许这是一个浏览器问题....但它也工作了!

解决方案是:没有解决方案......这是Dartium的一个错误,(见上面的链接)。