编码特殊字符以传入url并由javascript读取[重复]

Posted

技术标签:

【中文标题】编码特殊字符以传入url并由javascript读取[重复]【英文标题】:Encode special characters to pass in url and read by javascript [duplicate] 【发布时间】: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', "\"");

【问题讨论】:

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

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

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

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

【讨论】:

【参考方案2】:

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

encodeURI('coño funcionó!')

【讨论】:

这个。但在使用之前请仔细阅读encodeURI 及其兄弟encodeURIComponent。 我必须把这个放在哪里?我想在 androidios 应用程序中使用 html。所以我必须在添加参数之前对参数进行编码,不是吗? 更容易使用您的参数获取所有 url,然后在发送之前对其进行编码。 它有效,谢谢。我只需要读一点 单人投票赞成 por el texto de la función :)

以上是关于编码特殊字符以传入url并由javascript读取[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在JavaScript编码URL不编码&

JS 和 Java 中URL特殊字符编码方式

url特殊字符转义及解决方法

javascript中可用的编码解码函数

前端url传递编码问题

为什么要用urlencode()函数进行url编码