php中form通过get传中文字符自动用urlencode转换

如下面一个表单:<formaction="./search.php"name="searchform"method="get"><inputtype="text"name... 如下面一个表单:
<form action="./search.php" name="searchform" method="get">
<input type="text" name="keywords" style="width: 300px;"/> <input type="submit" value="搜索"/>
</form>
例如在我提交“你是谁”搜索的时候,自动打开的网页地址是:http://localhost/SEO/search.php?keywords=你是谁
怎么才能点击搜索之后自动打开的网址是中文用urlencode加密过的字符串呢?像在百度搜索的时候那样打开这样的网址:http://localhost/SEO/search.php?keywords=%E4%BD%A0%E6%98%AF%E8%B0%81
求高手指导
展开
 我来答
百度网友a19d193
2013-05-20 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1423万
展开全部
不需要做任何处理,这是由浏览器自动控制的。
带有中文的地址显示上更友好,但是,如果你复制该地址到一个文本文件中,你应该会看到粘贴的结果是已经用url编码的结果咯。

请不要在提交时自行编码,否则反倒会造成问题,即当你提交时进行了额外的urlencode的话,php端必须也同样额外的进行一次urldecode,否则你无法得到正确的搜索结果了。

urlencode并不是加密,只是格式不同而已。再说用户自己定制的搜索关键词,你加密它有什么意义?用户难道不知道自己写的什么吗,是不是这个道理。
lai1362000
推荐于2018-04-28 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:157万
展开全部
FORM 里使用get 方法,应该在你提交表单前用JS方法encodeURI先将输入的值进行转换。
追问
能不能帮忙把这段js方法写出来,我对js了解不太多,麻烦了
追答


$(function(){
$("#submit").click(function(){
$("#keywords").val(encodeURI($("#keywords").val()));
$("form").sumbit();
});
});

注意添加jquery类库。试试看吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TLast_Ghost
2013-05-20 · TA获得超过1542个赞
知道小有建树答主
回答量:649
采纳率:20%
帮助的人:507万
展开全部
rawurlencode ( string str)是PHP的实现方法,将非ASCII码转换,这不是加密,是因为GET方法不允许传非ASCII码,必须这么做。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c56cded
2013-05-20 · TA获得超过1940个赞
知道小有建树答主
回答量:870
采纳率:0%
帮助的人:245万
展开全部
跳转到搜索页面的时候可以用js实现,在js里实现关键字加密就行了
追问
能不能分享下这段js代码,本人对js了解不多,多谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式