URL编码问题

siriuscor 2005-04-26 04:22:31
现在想将一些内容提交到处理页面,但是遇到特殊字符,比如#,空格,处理页面无法正确处理,
于是将#替换成%23,发过去后一切正常,但希望其他的字符也能正确处理,于是用了URLEncoder.encode方法,但是此方法把内容中的中文字符一起编码了,发送到处理页面时无法正确处理,这个处理页面不受我控制,我只能改变发送的内容.
用字符串的replaceAll方法不知道如何替换+,?,\,成相应的编码.

简言之,我希望将一个字符串中的特殊字符变成URL编码,而中文内容不能变,请各位高手们给个解决办法.
...全文
181 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2005-04-28
  • 打赏
  • 举报
回复
用replaceALL
第一个参数是正则表达式

+要转义的
比如
str=str.replaceALL("\\+","%2B");
fengyue2001 2005-04-28
  • 打赏
  • 举报
回复
就是转化一下传出去就行了 ,替换
siriuscor 2005-04-28
  • 打赏
  • 举报
回复
顶一个啊
ysbcg 2005-04-27
  • 打赏
  • 举报
回复
也就是说在其他语言操作系统不能用
ysbcg 2005-04-27
  • 打赏
  • 举报
回复
所有需要处理的就只有 = ? + # % 其它的都不用换
其实对中文的编码是正确的,如果不编码,没有语言移植性
siriuscor 2005-04-27
  • 打赏
  • 举报
回复
+,?,\,还有空格
在url编码里面都是特殊字符
这个解决很简单
只要把这些字符用对应的ascii代替即可


+ %2B
? %25

jFresH_MaN(TM)

如何替换??用replace不能把一个字符替换成多个字符吧?用replaceAll的话,这个+和?是不能正确识别的,好像转义了
fashchina 2005-04-26
  • 打赏
  • 举报
回复
好象有个反编码的,和URLEncoder.encode对应的
querlang 2005-04-26
  • 打赏
  • 举报
回复
如果不行了就采用method="post"吧,我是这样子做的,没办法中文就有问题,如果最先发明电脑的是中国人就好了,呵呵
jFresH_MaN 2005-04-26
  • 打赏
  • 举报
回复
+,?,\,还有空格
在url编码里面都是特殊字符
这个解决很简单
只要把这些字符用对应的ascii代替即可


+ %2B
? %25
siriuscor 2005-04-26
  • 打赏
  • 举报
回复
这个处理页面不受我控制,我只能改变发送的内容. 就是说我无法控制它解码,我只能把字符串编码成它能正确处理的格式.
MARS.nEIL 2005-04-26
  • 打赏
  • 举报
回复
这边是怎么编码的,那边就怎么解码
siriuscor 2005-04-26
  • 打赏
  • 举报
回复
那如何判断是特殊字符?
dj0517 2005-04-26
  • 打赏
  • 举报
回复
要遍历每个字符,之后判断字符是否为特殊字符,y转换,n继续。。。
siriuscor 2005-04-26
  • 打赏
  • 举报
回复
顶一个

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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