You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用wget从维基百科下载带Unicode标题的XML文章遇编码问题

解决Windows下wget下载带西里尔字符的维基词典XML文件问题

问题出在Windows命令行环境对非ASCII字符的编码处理和wget的URL编码逻辑不匹配——浏览器会自动完成西里尔字符的正确UTF-8 URL编码,但wget在Windows cmd中直接传入西里尔字符时,编码方式不符合服务器要求,导致无法识别目标页面,仅返回Schema定义。以下是可行的解决办法:

  • 手动URL编码西里尔字符
    先将目标页面的西里尔标题用UTF-8 URL编码工具转换为百分号格式(比如Привет转成%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82),替换到URL的<page>位置后再执行wget命令。

  • 切换到PowerShell执行请求
    Windows cmd对非ASCII字符支持有限,改用PowerShell可以直接处理西里尔字符的URL编码:

    # 使用wget(PowerShell中wget是Invoke-WebRequest的别名)
    wget "https://de.wiktionary.org/wiki/Special:Export/?title=Special:Export&pages=Привет&curonly=1&templates=1&action=submit" -OutFile "output.xml"
    
    # 或者直接用Invoke-WebRequest
    Invoke-WebRequest -Uri "https://de.wiktionary.org/wiki/Special:Export/?title=Special:Export&pages=Привет&curonly=1&templates=1&action=submit" -OutFile "output.xml"
    
  • 从UTF-8编码的文本文件读取URL
    如果必须在cmd中使用wget,先将完整的带西里尔字符的URL保存为无BOM的UTF-8编码文本文件(比如url.txt),然后通过文件读取URL:

    wget -i url.txt -O output.xml
    

注意:--remote-encoding=UTF-8参数用于指定服务器返回内容的解码编码,不影响请求URL的字符编码,因此无法解决当前问题。

内容的提问来源于stack exchange,提问作者ozz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:37:06