【问题标题】:Open URL that contains umlaut with batch打开包含变音符号的 URL 和批处理
【发布时间】:2018-08-26 13:36:58
【问题描述】:

我想用批处理文件在 chrome 中打开一个 URL。这适用于普通 URL,但不适用于带有变音符号的 URL。

start chrome.exe https://trends.google.de/trends/explore?q=mähroboter

我不能用“ae”代替“ä”,因为它会给我在 Google 趋势上的不同结果。

当我保持这种状态时,我浏览器中的 URL 变为

https://trends.google.de/trends/explore?q=mA4hroboter

这又给了我错误的结果。它必须是“ä”。

我尝试使用文件编码。目前 UTF8 没有 BOM。我尝试了带有 BOM、ANSI 的 UTF8,来回转换。似乎没有任何效果。我该怎么做才能让它发挥作用?

【问题讨论】:

    标签: batch-file url encoding automation


    【解决方案1】:

    网址必须是URL encodedpercent-encoded bytes

    这意味着URL 中的德语变音符号ä 必须首先使用两个字节编码为十六进制值C3 A4UTF-8,然后再进行百分比编码,从而在URL 字符串中生成%C3%A4

    https://trends.google.de/trends/explore?q=m%C3%A4hroboter
    

    在批处理文件中,百分号必须用附加的百分号转义,以便 Windows 命令处理器将其解释为文字字符,而不是

    • 作为批处理文件参数引用的开头,如在命令提示符窗口中运行 call /? 时命令 CALL 输出的帮助所解释,或
    • 循环变量引用的开始,如在命令提示符窗口中运行 for /? 时命令 FOR 输出的帮助所解释,或
    • 环境变量引用的开始/结束,如在命令提示符窗口中运行 set /? 时命令 SET 输出的帮助所解释。

    所以在批处理文件中必须使用:

    start chrome.exe https://trends.google.de/trends/explore?q=m%%C3%%A4hroboter
    

    【讨论】:

      猜你喜欢
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多