使用 Dart 解析 html 和解码符号

Parsing html and decoding symbols with Dart

我尝试从 url 解析 html。这个页面的字符集是"windows-1251",我的方法编码的输出内容是utf.

我尝试像这样使用 http 和 html 包:

getContentFrom(String uri, {List selectors}) async {
    var htmlForParse, content, html;

    Map headers = {'Content-type':'text/html', 'charset':'windows-1251'};

    htmlForParse = await http.read(uri, headers: headers);

    html = parse(htmlForParse, encoding:'utf-8');
}

http.read return:

'<a href="#"><img src="#" alt="Ðîáîò Parrot Jumping Sumo (÷åðíûé)"/></a>'

只有当它尝试从非utf 字符集页面获取时。

这样的 Dart 代码:https://github.com/Rasarts/mini.parser/blob/master/lib/parser.dart

最后像这样输出 "Parrot Jumping Sumo (÷åðíûé)",但我预计 "Parrot Jumping Sumo (черный)"

我该怎么做才能解决 ÷åðíûé 问题?

我为此做了一个小函数:https://github.com/Rasarts/mini.parser/blob/master/lib/cp1251.dart