Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 出现奇怪的字符,而不是“quot;特别";字母(á;,ó;,ñ;,ü;…)_Java_String - Fatal编程技术网

Java 出现奇怪的字符,而不是“quot;特别";字母(á;,ó;,ñ;,ü;…)

Java 出现奇怪的字符,而不是“quot;特别";字母(á;,ó;,ñ;,ü;…),java,string,Java,String,类以字符串形式从“meneame”网页获取特定内容 public class DownloadWeb { private String web; public DownloadWeb(){ try{ InputStream is = null; BufferedReader br; String line; URL url = new URL ("https://www.meneame.net/"); is = url.openStream(); br = new BufferedReade

类以字符串形式从“meneame”网页获取特定内容

public class DownloadWeb {
private String web;

public DownloadWeb(){
try{
InputStream is = null;
BufferedReader br;
String line;

URL url = new URL ("https://www.meneame.net/");
is = url.openStream();
br = new BufferedReader(new InputStreamReader(is));


StringBuilder output2 = new StringBuilder();
while((line = br.readLine()) != null){
    output2.append(line);
}
Pattern p = Pattern.compile("<div class=\"center-content\"> *<h2> <a.{10,200} >(.{50,200})</a>");
Matcher m = p.matcher(output2);

Pattern p2 = Pattern.compile("<div class=\"news-content\">(.{100,500})</div> *</div>");
Matcher m2 = p2.matcher(output2);

StringBuilder sb = new StringBuilder();
while(m.find() && m2.find()){
    sb.append(m.group(1).replaceAll("&quot;", "") + "\n");
    sb.append(m2.group(1).replaceAll("&quot;", "")+ "\n");
}

web = sb.toString();

}catch(Exception e){};
}

public String getWeb(){return web;}

}

一切正常,我打印出来,它显示正确。 但是,当我调试文件并检查存储的内容时,某些字符与上次输出的字符不同。这里有一个例子来说明我在说什么

我的问题是我不能那样使用它。 在另一个类别中,我将以大写字母开头的单词分组到
HashMap
(整数是该单词出现的频率)

我这样做是因为我必须实现一个方法,它接收一个单词,并返回该单词的频率。 当我试着用一个有“s”这样的字符的单词时�" 这显然不起作用,所以我有点急切地想要一个解决方案…就像真的绝望的ngl

有没有办法让有重音符号的单词不带重音符号,这样就不会发生这种情况?就像让所有的单词都是“普通”字母一样,没有像“ñ”或“ü”这样的东西


编辑:这解决了我的问题。特别感谢@xerx593链接它。

这回答了你的问题吗?文本不是简单的“纯文本”,它在某些编码中存储为字节。当部分使用不同的编码时,你会遇到类似这样的问题。这回答了你的问题吗?文本不是简单的“纯文本”,它在某些编码中存储为字节。当部件使用不同的编码时,会出现如下问题
System.out.println("getWeb");
DownloadWeb instance = new DownloadWeb();
System.out.println(instance.getWeb());