问题描述
- java流字符乱码问题,求助!
-
地址https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443,结果为GBK编码,获取手机号码归属地以后,发现获得字符结果中中文乱码,麻烦大神指教,谢谢!以下提出部分代码。
HttpClient client = new DefaultHttpClient();//浏览器客户端
HttpGet request = new HttpGet(sb.toString());//get请求对象
HttpResponse response = client.execute(request);//执行请求
if(response.getStatusLine().getStatusCode() == 200){//判断请求是否成功
InputStream inputStream = response.getEntity().getContent();//获取实体 从实体里面获取流数据
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len = inputStream.read(buffer)) != -1){
bos.write(buffer, 0, len);
}
result = bos.toString();
bos.close();
inputStream.close();
}
return result;
解决方案
你要不就在读取byte的时候做一下转换试试,getByte("utf-8")上网查查这个方法,你想用gbk就用gbk,试一下
解决方案二:
可能读取到的字节需要显示用gbk编码成字符串
解决方案三:
if (StringUtils.isBlank(corporName) == false) {
try {
corporName = new String(corporName.getBytes("ISO8859-1"),
"UTF-8");
request.setAttribute("corporName", corporName);
} catch (Exception e) {
e.printStackTrace();
}
}
解决方案四:
字符集编码问题,统一起来可以了
解决方案五:
JAVA的中文字符乱码问题
JAVA的中文字符乱码问题
JAVA的中文字符乱码问题
----------------------
时间: 2024-10-21 09:27:45