怎样把一个像 "开发指南++(2004版)"这样的值传到服务器上

leaxin 2004-04-01 03:54:09
我在开发的时候遇到了这样一个难题:
<script>
window.location="test.php?val="+encodeURIComponent(val)
</script>
当 value 像 “发指南++(2004版)” 这样的时候 传到服务器端的值就变成了乱码,该怎么处理呢?
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leaxin 2004-04-02
  • 打赏
  • 举报
回复
看了一下MSDN自己写了一个 客户端函数

function urlencode(str){
return str.replace(/[\s\$\+\?\\\^\}\|\t~`@&%{]=-/]/g,function($1){return encodeURIComponent($1)})
}
用这个函数encode基本能应付得来
leaxin 2004-04-01
  • 打赏
  • 举报
回复
我觉得是 php urlencode()与 javascript encodeURIComponent() 对汉字编码的方式不同
同样是对"你" encode
php的是 %C4%E3 而 javascript 的是 %E4%BD%A0
看来这个问题真的难解决啊
sdliubo 2004-04-01
  • 打赏
  • 举报
回复
decodeURIComponent Javascript中好像就有这个函数
sdliubo 2004-04-01
  • 打赏
  • 举报
回复
是被ie编码了 你可以解码后得到原来的文字的
leaxin 2004-04-01
  • 打赏
  • 举报
回复
可是 php好像没有这个函数哦
ice_berg16 2004-04-01
  • 打赏
  • 举报
回复
使用时var = decodeURIComponent(val);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧