RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1543844
Accepted
ArtyomStepchuk
ArtyomStepchuk
Asked:2023-10-04 00:03:48 +0000 UTC2023-10-04 00:03:48 +0000 UTC 2023-10-04 00:03:48 +0000 UTC

XML 文件中的西里尔字母

  • 772

使用 get 请求检索 XML 文件时出现问题。我无法更改该文件。您只能接收它。

http.get(Uri.http('www.cbr.ru', 'scripts/XML_daily.asp')).then((res) async {
  setState(() {
    xmlData = XmlDocument.parse(res.body);
    getDateOfUpdate(xmlData);
  });
});

所有西里尔字符均已替换为象形文字(例如,Àçåðáàéäæàíñêèé màíàò)。

这是 XML 文件:

所有西里尔字符均已替换为象形文字 (Àçåðáàéäæàíñêèé màíàò)

我怎样才能解决这个问题?

xml
  • 1 1 个回答
  • 69 Views

1 个回答

  • Voted
  1. Best Answer
    Oopss
    2023-10-04T00:22:32Z2023-10-04T00:22:32Z

    我尝试访问网站www.cbr.ru,它诚实地说它提供了 windows-1251 编码

    <?xml
    version="1.0" encoding="windows-1251"?>
    <ValCurs Date="04.10.2023" name="Foreign Currency Market">
        <Valute ID="R01010">
            <NumCode>036</NumCode>
            <CharCode>AUD</CharCode>
            <Nominal>1</Nominal>
            <Name>Австралийский доллар</Name>
    

    从这里有两个输出,第一个是安装这样的包: https: //pub.dev/packages/windows1251并解码(尚未测试)

    import 'package:windows1251/windows1251.dart';
    
    void main() {
      // >>> 'Привет!'
      print(windows1251.decode([207, 240, 232, 226, 229, 242, 33]));
      // >>> [207, 240, 232, 226, 229, 242, 33]
      print(windows1251.encode('Привет!'));
    }
    

    第二种选择是联系网站的“镜像” https://www.cbr-xml-daily.ru/daily_utf8.xml,但这不是官方的(参见www.cbr-xml-daily.ru)这个镜像返回 utf8 格式的响应

    import 'package:http/http.dart' as http;
    import 'dart:convert';
    
    
    void main() {
      fetchData();
      
    }
    
    void fetchData() async {
      var url = Uri.parse('https://www.cbr-xml-daily.ru/daily_utf8.xml');
      var headers = {
        'Accept-Encoding': 'gzip, deflate, sdch',
        'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Referer': 'http://www.wikipedia.org/',
        'Connection': 'keep-alive',
        'Accept-Encoding': 'gzip',
      };
      var response = await http.get(url,headers:headers);
    
      if (response.statusCode == 200) {
        
       var responseBody = utf8.decode(response.bodyBytes);
       
        print(responseBody);
      } else {
        print('Request failed with status: ${response.statusCode}');
      }
    }
    

    <?xml version="1.0" encoding="utf-8"?><ValCurs Date="04.10.2023" name="Foreign Currency Market"><Valute ID="R01010"><NumCode>036</NumCode><CharCode>AUD</CharCode><Nominal>1</Nominal><Name>Австралийский доллар</Name><Value>62,6975</Value><VunitRate>62,6975</VunitRate></Valute><Valute ID="R01020A"><NumCode>944</NumCode><CharCode>AZN</CharCode><Nominal>1</Nominal><Name>Азербайджанский манат</Name><Value>58,3928</Value><VunitRate>58,3928  ....
    
    • 0

相关问题

  • 贴在屏幕顶部(将视图固定到 NestedScrollView 的顶部) | 科特林

  • XSLT 中的 XPath 问题

  • 使用 xsl:if 选择 position()

  • 如何在 PL/SQL 过程中仅将包含 XML 的 CLOB 部分转换为 xmlType?

  • 带有 xsl 样式的 xml 在 Google Chrome 浏览器中不显示

  • SVG中动画重复之间的延迟

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5