request.getAttribute()获取对象后强制转换问题
String a=(String) request.getAttribute("a"); 如上代码,现在有这样一个问题,a是一个url地址,里面有中文英文,现在获取对象强制转换String后发现中文没有,地址不正确了,所以就出问题了,请教怎么解决?
------解决方案--------------------只要你传递过来的是包含中文的,转换之后应该还是包含中文。
你现在说的中文没有了,是因为你传递过来的根本就没有中文。
------解决方案--------------------应该不会影响传递的内容才对。
------解决方案--------------------会不会是&符号的原因,一般来说传特殊字符的参数需要转义吧,尤其是url
------解决方案--------------------调试一下 看看里面request.getAttribute("a"); 有没有中文 。
------解决方案--------------------解码?URLDecoder的decode(String url,"UTF-8")方法?试试
------解决方案--------------------应该是乱码了,试试下面的解码方法:
String filename = request.getParammeter("filename");
filename = new String(filename.getBytes("ISO-8859-1"),"UTF-8");
------解决方案--------------------转换一下:
public String trans(String str)
{
if(str==null)
{
str="";
}
else
{
try
{
str=(new String(str.getBytes("iso-8859-1"),"GB2312")).trim();
}
catch(Exception e)
{
e.printStackTrace(
System.err);
}
}
return str;
}