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

Mac终端(zsh)含日文字符的Google搜索URL无法正常运行问题

问题原因

当URL包含日文字符这类非ASCII字符时,zsh对双引号包裹的URL解析出现异常,导致open命令错误地将URL识别为本地文件路径,而非网络地址,因此抛出文件不存在的错误。

解决方案

以下几种方法可以解决这个问题:

方法1:手动对非ASCII字符进行URL编码

将日文字符替换为对应的URL编码值,再执行命令:

open -a "Google Chrome" "https://google.co.jp/search?q=%E6%9D%B1%E4%BA%AC+%E5%A4%A9%E6%B0%97"
  • 東京的URL编码是%E6%9D%B1%E4%BA%AC
  • 天気的URL编码是%E5%A4%A9%E6%B0%97

方法2:使用--args参数明确传递启动参数

通过--args告诉open命令,后面的内容是传给Chrome的启动参数,而非本地文件:

open -a "Google Chrome" --args "https://google.co.jp/search?q=東京+天気"

这种方式不需要编码,open会直接将URL传递给Chrome,由Chrome自行处理URL中的非ASCII字符。

方法3:自定义zsh函数自动编码URL

如果需要频繁搜索带非ASCII字符的内容,可以定义一个urlencode函数自动处理编码:

urlencode() {
  local string="${1}"
  local encoded=""
  local pos c
  for (( pos=0 ; pos<${#string} ; pos++ )); do
    c="${string:$pos:1}"
    case "$c" in
      [-_.~a-zA-Z0-9] ) encoded+="$c" ;;
      * ) encoded+=$(printf '%%%02X' "'$c") ;;
    esac
  done
  echo "$encoded"
}

定义后可以这样使用:

open -a "Google Chrome" "https://google.co.jp/search?q=$(urlencode 東京)+$(urlencode 天気)"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:17:03