明明两个字符串相同 为什么 equals返回false
Stringst=newString(request.getParameter("st").getBytes("ISO-8859-1"),"UTF-8");Strings...
String st=new String(request.getParameter("st").getBytes("ISO-8859-1"),"UTF-8");
String stt="借阅";boolean bo=(st.equals(stt));
////////单独输出 st stt 都是 显示借阅 但是 输出 bo 总是 false
////我觉得应该是第一句的问题,可是我不这样做得到的值却是乱码,而且只有这个值是乱码...
大家帮帮忙啊,线上等... 展开
String stt="借阅";boolean bo=(st.equals(stt));
////////单独输出 st stt 都是 显示借阅 但是 输出 bo 总是 false
////我觉得应该是第一句的问题,可是我不这样做得到的值却是乱码,而且只有这个值是乱码...
大家帮帮忙啊,线上等... 展开
展开全部
st 编码格式是"UTF-8".
而stt编码格式不是。
对stt做如下处理就可以了。
stt = new String("借阅".getBytes("ISO-8859-1"),"UTF-8");
如果程序文件默认编码格式是"GBK",就用GBK替换ISO-8859-1
总之要让两个变量完全一致,才能equals True
问题原因:应该是你的程序文件编码格式不是UTF-8。申明的变更也不是UTF-8。对其他字符转化成UTF-8,就出现同值不equals问题。
而stt编码格式不是。
对stt做如下处理就可以了。
stt = new String("借阅".getBytes("ISO-8859-1"),"UTF-8");
如果程序文件默认编码格式是"GBK",就用GBK替换ISO-8859-1
总之要让两个变量完全一致,才能equals True
问题原因:应该是你的程序文件编码格式不是UTF-8。申明的变更也不是UTF-8。对其他字符转化成UTF-8,就出现同值不equals问题。
展开全部
trim()下看看
String st=new String(request.getParameter("st").getBytes("ISO-8859-1"));
String stt="借阅";boolean bo=(st.equals(stt));
String st=new String(request.getParameter("st").getBytes("ISO-8859-1").trim());
String stt="借阅";boolean bo=(st.equals(stt));
String st=new String(request.getParameter("st").getBytes("ISO-8859-1"));
String stt="借阅";boolean bo=(st.equals(stt));
String st=new String(request.getParameter("st").getBytes("ISO-8859-1").trim());
String stt="借阅";boolean bo=(st.equals(stt));
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
与编码没关系..
你要确定你的这句:
String st=new String(request.getParameter("st").getBytes("ISO-8859-1"),"UTF-8");
得出来的值是"借阅",中间和旁边没有空格或者乱码.
建议你把值打印出来或者通过调试的方式观察其在内存中的情况.
你要确定你的这句:
String st=new String(request.getParameter("st").getBytes("ISO-8859-1"),"UTF-8");
得出来的值是"借阅",中间和旁边没有空格或者乱码.
建议你把值打印出来或者通过调试的方式观察其在内存中的情况.
追问
我在另一个页面打印出来也是 借阅
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String st=new String(request.getParameter("st").getBytes("UTF-8"),"UTF-8");
这个的字符集修改成一样就可以了。
不用客气!
这个的字符集修改成一样就可以了。
不用客气!
追问
O(∩_∩)O哈!我真希望可以客气的跟你说声谢谢
遗憾呐
你的方法后 又变成跟直接request.getParameter("st").的效果一样 st乱码了 åé
追答
你将编码都换成GBK试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-09
展开全部
.getBytes("ISO-8859-1"),"UTF-8" 删掉
更多追问追答
追问
那样的到的值是乱码( ⊙ o ⊙ )啊!
追答
第一句之后打印st是什么值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询