当我们通过地址栏传递参数给 action 时,由于中文默认编码方式是 UTF-8,而 action 接收到的参数为 GBK 编码方式,导致中文乱码问题。下面是完整的攻略步骤:
1. 使用 JavaScript 的 escape() 函数编码传递的中文参数
escape() 函数可以将字符串进行编码,使其在传输时不受特殊字符的影响。我们可以将要传递的中文参数使用 escape() 函数编码,从而避免中文乱码问题。
示例:
<a href="action.php?username=张三&id=123">点击传递参数</a>
如上所示,我们需要传递中文参数 “张三”,我们可以使用 escape() 函数进行编码:
<a href="action.php?username=%u5F20%u4E09&id=123">点击传递参数</a>
2. 使用 JavaScript 的 encodeURIComponent() 函数编码传递的中文参数
encodeURIComponent() 函数可以将字符串进行编码,并且会对所有特殊字符进行编码,包括 ? & / : # 等。我们可以使用 encodeURIComponent() 函数编码中文参数,避免出现乱码问题。
示例:
<a href="action.php?username=赵四&id=456">点击传递参数</a>
如上所示,我们需要传递中文参数 “赵四”,我们可以使用 encodeURIComponent() 函数进行编码:
<a href="action.php?username=%E8%B5%B5%E5%9B%9B&id=456">点击传递参数</a>
以上两种方法均可以避免传递中文参数时出现乱码问题,可以根据项目需求选择适合的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js通过地址栏给action传值(中文乱码全是问号) - Python技术站