看你编译没问题,运行时报乱码错误.说明是代码的编码跟DOS系统的编码不一致.
运行java带有中文的代码就出现乱码,解决方式如下:
方法一:设置
request
和
response
的编码
[
页面编码必须为
]
方法二:
string
str1=传来的数据.
ss=new
①HttpURLConnection.getContentType();直接读取,效率高,但有很多时候读不到.只是text/html就完事了,没有charset.
做个总结:
/**
* 取得页面编码
*
* @param url
* @return
*/
public String getCharset(String url) throws Exception {
// log.info("进入读页面的关键词:" + keyword);
String charset = "";
int c;
HttpURLConnection httpurlcon = null;
// log.info("url:"+url);
// log.info("charset:"+charset);
log.info("url:" + url);
URL httpurl = new URL(url);
// System.out.println(url+str);
httpurlcon = (HttpURLConnection) httpurl.openConnection();
// google需要身份
charset = httpurlcon.getContentType();
log.info("charset1:" + charset);
// 如果可以找到
if (charset.indexOf("charset=") != -1)
charset = charset.substring(charset.indexOf("charset=")
+ "charset=".length(), charset.length());
// 否则读取response.Header头
else {
charset = this.getContentCharset();
}
// 如果charset还是为空,那么直接读网页来截取
if (charset == null) {
charset = this.readPageCharset(url);
return charset;
以上就是土嘎嘎小编为大家整理的java编译代码防止乱码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!