中文字符乱码问题

忙了半天终于把中文字符乱码问题解决了。下面跟大家分享一下吧。
情况一:
问题描述:HttpURLConnection去请求一个xml文件并解析xml文件内容。每次解析出来xml中的中文都是乱码。这肯定是字符集编码不统一的问题。解决这个问题主要从一下步骤来。
1. 检查你xml文件的编码格式。(确定xml的编码格式,这个很重要,因为这个决定了你请求到xml内容后采用的编码格式,不相同的话可能会有乱码)
2. 知道了xml的编码格式后,就好办了。如下:
HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();
// 将资源读到inputsream中
inputStream = urlConn.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));// 创建UTF-8的BufferedReader
try {
while((line = buf.readLine())!=null){
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}

情况二:
问题描述:当你在url中想请求一个带中文名的文件时。你需要修改tomcat的配置,因为tomcat默认编码是不支持中文的。配置修改如下:
<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000"
redirectPort="8443"
[color=red]URIEncoding="UTF-8"[/color]/>

另外,你在使用URL url = new URL(str)的时候,这里是用传过来的str直接创建url,但是要注意一点,这里这里是不支持中文字符的,所以你要采用URLEncode的encode方法来将中文字符转换成url接受的字符。
好了,就到这里吧。 :D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值