【问题标题】:Encode special characters to pass in url and read by javascript [duplicate]编码特殊字符以传入url并由javascript读取[重复]
【发布时间】:2014-11-06 14:05:34
【问题描述】:

我需要在 url 中传递一些参数,它们可以包含特殊字符,例如 "、西班牙语 Ñ 或 ñ、: 空格和重音符号。

在添加到 url 之前对它们进行编码的正确方法是什么,或者如果我像这样进入 html,请阅读它们?

我试过这个:

arrayData[i] = pair[1].replace('+', " ").replace('%22', "\"");

但只需使用 + 或空格,而不是同时或两行:

    arrayData[i] = pair[1].replace('+', " ");
    arrayData[i] = pair[i].replace('%22', "\"");

【问题讨论】:

  • 不完全是重复的 - 仅用于编码非字母字符,这是常见的情况。在这里,他需要对字母但非英语/非标准的字母字符进行编码。
  • 是的,抱歉,扳机指发痒。

标签: javascript html


【解决方案1】:

前面的答案是正确的。 JavaScript 内置了用于完成此类任务的函数。

您可以尝试在 w3schools.com 中研究这些功能。以下是包含基本信息和实时“试用”功能的链接:

  • encodeURI - 将字符串与您的字符一起编码,并将其编码为合理的 url 样式(编码空格和非 ANSII 字符)
  • decodeURI - 获取编码字符串并将其解码为初始状态

【讨论】:

    【解决方案2】:

    你可以试试 encodeUri 内置函数,例如

    encodeURI('coño funcionó!')
    

    【讨论】:

    • 这个。但在使用之前请仔细阅读encodeURI 及其兄弟encodeURIComponent
    • 我必须把这个放在哪里?我想在 android 和 ios 应用程序中使用 html。所以我必须在添加参数之前对参数进行编码,不是吗?
    • 更容易使用您的参数获取所有 url,然后在发送之前对其进行编码。
    • 它有效,谢谢。我只需要读一点
    • 单人投票赞成 por el texto de la función :)
    猜你喜欢
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多