Android与Tomcat之间进行交互时的中文乱码问题
2015-08-06 17:57
309 查看
在使用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"));
而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"));
相关文章推荐
- eclipse tomcat May be locked by another process 解决
- linux tomcat7设置jvm启动参数
- Nginx+Tomcat负载均衡配置
- CentOS安装、配置APR和tomcat-native
- Tomcat性能优化(三) Executor配置
- 其他主机连接本地主机Tomcat会出现的防火墙问题
- (转)suse11 linux 开机启动 tomcat服务
- Eclipse配置Tomcat和JDK步骤图解
- Tomcat内存溢出的三种情况及解决办法分析
- MyEclipse + Tomcat项目重命名
- Eclipse里Tomcat启动贼慢的解决方法
- tomcat参考文章
- 配置环境变量 解决tomcat启动闪退现象
- Tomcat热部署方法(3种)
- Tomcat去掉8080端口的方法
- 优化网站响应时间tomcat添加gzip
- 优化网站响应时间tomcat添加gzip
- 设置TOMCAT启用GZIP压缩
- Tomcat 生产服务器性能优化
- CentOS系统安装配置Nginx+tomcat+jdk+MySQL服务器环境