跳到主要内容
uencoder

如何URL Encode 特殊 Characters

编码 characters that are unsafe in URLs so they can be transmitted correctly in query strings.

问题

你的 URL contains spaces, ampersands, 或其他特殊 characters 该 break 查询字符串结构.

前置条件

  • 基础知识的 URL 结构
  • Understanding 的 percent-编码

步骤

  1. 1. Identify unsafe characters

    Characters like space, &, =, ?, #, and + have special meaning in URLs. Leaving them unencoded will change how the server parses the query string. Review your input and flag every reserved or non-ASCII character.

    输入
    name=John Doe & Co.
    输出
    unsafe: space, &
  2. 2. Percent-encode each character

    Replace each unsafe character with a percent sign followed by its two-digit UTF-8 hex byte. A space becomes %20, an ampersand becomes %26, and a non-ASCII character may produce multiple percent sequences.

    输入
    name=John Doe & Co.
    输出
    name=John%20Doe%20%26%20Co.
  3. 3. Verify the encoded URL

    Paste the encoded URL into a browser or HTTP client. The server should receive the original string exactly. If any character is still raw, the encoding was incomplete.

    输入
    name=John%20Doe%20%26%20Co.
    输出
    server receives: name=John Doe & Co.

预期结果

fully percent-encoded URL 该任何 standards-compliant 服务器能够解析无 ambiguity.

常见错误

Encoding the entire URL including the scheme and host
Only encode the query parameter values and path segments, not the protocol or domain.
Double-encoding an already-encoded string
Check for existing % sequences before encoding. Decode first if you need to re-encode.

排障指引

  • If the server receives literal %20 instead of a space, the string was double-encoded.
  • Use encodeURIComponent in JavaScript for query values, not encodeURI.

安全限制

  • URL encoding prevents parsing errors but does not prevent injection. Validate and sanitize all input on the server side.

相关工具

相关词条

参考链接