我的Dart代码上有以下字符串,使用Polymer:
@observable String title = "Καλώς Ήρθατε Ξανά!";
但这是我在浏览器上看到的内容:
Καλώς ΉÏθατε Ξανά!
我错过了什么?
当文本使用常规拉丁字符时,一切都很完美。
先谢谢你
答案 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的一个错误,(见上面的链接)。