在使用Tomcat服务器和Andriod客户端进行通信时会遇到中文乱码问题,其根本原因是Tomcat在String和ByteArray之间转换采用的编码集是iso-8859-1;
而android端采用的是utf-8;所以会生成中文乱码。
因为网络传递的是字节流,所以从服务器到android的转换过程如下:
所以,解决方法是在Tomcat端将String转换为ByteArray的编码方式采用utf-8,示例代码如下:
response.getOutputStream().write(“中文”.getBytes(“utf-8”));
常见乱码:
菱形里带问号的 是GBK的编码用utf-8显示出来
拷》代表码表转丢了,无法修复。
《下面的方法存在问题》
所以从android到服务器的转换过程如下:
示例代码如下:
String name = request.getParameter(“username”);
System.out.println(“用户名:”+new String(name.getBytes(“iso-8859-1″),”utf-8”));
版权声明:本文为zhhtao89原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。