关于在request中修改了值,乱码的问题 第三方软件是在服务端更改的吗?字符串本身没更改,对不对,比如传来的是 abcderee,传去的是 %abcderee+ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是从jsp页面向formbean传递时修改的。具体是不是服务端不知道,好像是在客户端传导服务器端过程中改变的。在字符串前面或中间或后面加上特殊字符,比如abjsfj,变成adgggd%sfd,但却变成了null.asd&dla,但却变成了asd。 你在哪个地方要用到这个改变的程序,jsp页面上?你期望改成什么样?比如abjsfj,变成adgggd%sfd,但却变成了null 那个程序似乎没有完成功能啊 在字符串前面加了%或&或+,所以字符串成了乱码,对这些字符 过滤啊 因为要做安全性检查,在服务器端加入了检查%^$%&!@@$#这些禁止字符的代码,现在的阶段是用第三方软件修改字符做测试,模拟黑客修改传入值,检查安全性检查代码是否有用。现在的情况是用软件修改了值之后,比如在adsda字符前加个%,因为是java特殊字符,所以没变成期望的%adsda。现在就是想办法使他还原到%adsda,好进行安全性检查。这里的安全性检查的意思就是字符里不能有%^$%&!@@$#等字符。专家能理解我的意思吗? 你需要先encode一下再加你的代码上去就行了。 第三方软件的字符集应该和你的客户端不同,其实把字符集统一就不会有问题了,不过不知道可操作性到底有多大。如果都不可以动的话,那恐怕就有点困难了。因为不是不同种字符集之间都可以转换的。try { String str = new String("第三方软件传来的字符串".getBytes("第三方软件字符集"),"客户端字符集");} catch (UnsupportedEncodingException e) { e.printStackTrace();} 什么时候encode呢,因为是在客户端传到服务器端时改变的,在客户端没法encode,在服务器端字符已经变乱码了,也没法encode. 连 老紫竹 都看不懂了,我没的话说了。。sorry /*** * 单纯字符的处理,一个字符串进行编码处理 * @param str * @return */ public static String code(String str){ // step 1 编码处理 String strcode=""; if(null!=str){ try { strcode=new String(str.getBytes("ISO8859-1"),"gbk"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } strcode = str; } // step 2 返回处理后的字符串 return strcode; } 奇怪,hibernate 分页报错:could not execute query 当form设置为enctype="multipart/form-data",获取数据乱码 Struts2+Hibernate报错! 有关hibernate外连接问题 我在windows2003下面安装jbuilder X出现下面错误!!这种错误我还是第一次见 新手求助? 我有个关于XML的初级问题。 Tomcat的虚拟目录的设置问题. 你一定要用J2EE的理由 mongoTemplate查询数组中元素总数 Date类型插入数据库后,丢失时分秒 Hibernate+Spring怎么lazy处理BLOB字段
你在哪个地方要用到这个改变的程序,jsp页面上?你期望改成什么样?
比如abjsfj,变成adgggd%sfd,但却变成了null 那个程序似乎没有完成功能啊
其实把字符集统一就不会有问题了,
不过不知道可操作性到底有多大。
如果都不可以动的话,那恐怕就有点困难了。
因为不是不同种字符集之间都可以转换的。try {
String str = new String("第三方软件传来的字符串".getBytes("第三方软件字符集"),"客户端字符集");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
* 单纯字符的处理,一个字符串进行编码处理
* @param str
* @return
*/
public static String code(String str){
// step 1 编码处理
String strcode="";
if(null!=str){
try {
strcode=new String(str.getBytes("ISO8859-1"),"gbk");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
strcode = str;
}
// step 2 返回处理后的字符串
return strcode;
}