从对方服务器上获得的编码是utf-8的,linux服务器是iso8859-1的,但我从request。getParameter,获得对方数据写入文件中
我是new String(username.getBytes("utf-8"),"iso8859-1");转码写入文件的。结果是乱码?怎么回事啊?格式:脤脝脙么
高手帮忙解决一下啊。谢谢啦。。
我弄老长时间了就是不行。都崩溃了
我是new String(username.getBytes("utf-8"),"iso8859-1");转码写入文件的。结果是乱码?怎么回事啊?格式:脤脝脙么
高手帮忙解决一下啊。谢谢啦。。
我弄老长时间了就是不行。都崩溃了
你这句的意思是
1 username通过utf-8边编码成二进制
2 再用iso8859-1来解码成字符串但是iso8859-1是不支持中文的,所以这种方式肯定是乱码,应该是这样吧
new String(username.getBytes("iso8859-1"),"utf-8")
2、写过滤器,设置request.setCharacterEncoding("UTF-8")。
3、javascript脚本里用encodeURI(str)。
4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")。
5、最容易忽略的是使用"":value=" <%=paraFiles%>",一定要有引号。
6、new String(content.getBytes("ISO-8859-1"), "GBK");
这样试一下吧;
如果不行的话,应该在对方服务器上转成iso8859-1后,再传过来吧