今天遇到一个很奇怪的问题,通过url传递参数url+"?name="+c#+"&id="+"21"传到另一个页面,发现竟然id读取出值为空,当 name值为c++时,传递过去值竟然只有c字符,很是奇怪,上网一查,原来url对这些字符有些特殊要求,比如对于#,当遇到它时,后面所有内容将被忽视。自己真是孤陋寡闻!有些人就借此来再数据库名后面加上#,增强安全性。但是也有破解之法,那就是不直接传递#,而是传递他在url中的ascii码 %23,利用这个我想到一种方法就是对读到的值进行判断如果结尾不包括这些特殊字符就直接传递该值,否则转化成相应的ascii码。。。。。这样做了以后是成功的,但是感觉很是不好,比较死,不具有很好的兼容性,因为无法判断所有的特殊字符,请问各位是否遇到过这种问题,有什么更好的解决方案没,希望指点指点