乱码问题求教

skyhits1921 2009-04-14 05:12:30
我用urlConnection这个类写了一个小程序

public class TGCApply {
public static void main(String[] args) {
TGCApply jp = new TGCApply();
jp.doPost();

}

public void doPost() {
try {
// URL url = new URL("http://192.168.210.66:9080/ssoua/login");
URL url = new URL("http://192.168.210.171:8088/KSSOUA/login");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection
.getOutputStream(), "UTF-8");
out
.write("UserName=li&Token=123456&AuthenticationType=0&ProcessCode=101");
out.flush();
out.close();
InputStream in = connection.getInputStream();
String encoding = connection.getContentEncoding();
System.out.println(encoding);
StringBuffer buffer = new StringBuffer();
BufferedReader bufferReader = new BufferedReader(
new InputStreamReader(in));
String line = "";
while ((line = bufferReader.readLine()) != null) {
buffer.append(line);
}

System.out.println(buffer.toString());
System.out
.print(new String(buffer.toString().getBytes(), encoding));
System.out.print(new String(buffer.toString()
.getBytes("ISO-8859-1"), encoding));
} catch (Exception ex) {
}
}
}

服务器端的写的传回的是一个随机中文字符串

response.setCharacterEncoding("UTF-8");
response.setHeader("content-encoding","UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setContentLength(new String("资源".getBytes(),"UTF-8").length());
response.getWriter().write(new String("资源".getBytes(),"UTF-8"));



不过我怎么试都是服务器传回都是乱码,文件的编码都是UTF-8的,但是如果我用ISO-8859-1解析就没问题。
...全文
173 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gahaya 2009-04-21
  • 打赏
  • 举报
回复
页面编码统一为UF-8
servet.xml的URIEncoding该为UTF-8
hbgzg3006 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mumu_java 的回复:]
Java code...
System.out.print(newString(buffer.toString()
.getBytes("ISO-8859-1"),"utf-8"));

...
[/Quote]
顶一下这个。
wzg112 2009-04-15
  • 打赏
  • 举报
回复
页面的编码改成一致的
cjg520jie 2009-04-15
  • 打赏
  • 举报
回复
写个万能方法过滤下,可以直接用tommca带的那个就行,在把xml配置文件修改下就oK
skyhits1921 2009-04-15
  • 打赏
  • 举报
回复
不知道怎么回事,还是只有ISO-8859-1才能解决。
li__yunqi 2009-04-15
  • 打赏
  • 举报
回复
还是用gbk吧
ben0759 2009-04-14
  • 打赏
  • 举报
回复
不要使用gb2312,我发觉有些服务器版本对这个不支持,用gbk最好了。
cool326236882 2009-04-14
  • 打赏
  • 举报
回复
感觉FILTER就差不多了吧!
再改下服务器的编码
Defonds 2009-04-14
  • 打赏
  • 举报
回复
用一下filter吧

jsp版AJAX下拉条级联

这个项目里有关于filter的使用、配置
huaihuaihao 2009-04-14
  • 打赏
  • 举报
回复
学习
mumu_java 2009-04-14
  • 打赏
  • 举报
回复

...
System.out.print(new String(buffer.toString()
.getBytes("ISO-8859-1"), "utf-8"));

...
heavilyarmed 2009-04-14
  • 打赏
  • 举报
回复
学习
skyhits1921 2009-04-14
  • 打赏
  • 举报
回复
这个是什么原因呀。
skyhits1921 2009-04-14
  • 打赏
  • 举报
回复
好像不行呀,我输出的是如下内容
GB2312

资?

csouyangjun 2009-04-14
  • 打赏
  • 举报
回复

new String(str.getBytes("ISO-8859-1"),"GB2312");
这样就可以搞定了,用GB2312编码!
valen_jia 2009-04-14
  • 打赏
  • 举报
回复
页面编码不对呗

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧