当我从Java应用程序运行此代码时,我得到了正确的响应(UTF-8编码)。
问题是,当我从我的servlet运行它时,我得到:
"פ×× ̃ות ×"×× ×"×ª×—×›×•× ×"מו××œ× © ™ © ×œ× ×•× × ̈×"ו ×"× ×× ̈ פ××× ̈ו ×"×" וי ™ ™× צ'× ™ ™
知道如何解决它吗?
URL url;
HttpURLConnection conn;
BufferedReader rd;
String line;
String result = "";
try {
url=new URL("http://www.walla.co.il");
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer("");
String s1="";
String NL = System.getProperty("line.separator");
while ((s1 = rd.readLine()) != null)
sb.append(s1+NL);
System.out.println(sb);
rd.close();
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return "";
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8"
我从我的 tomcat\bin 中的 *.bat 文件运行它它解决了我似乎必须为Tomcat/JVM设置编码的问题不是 100% 确定,但它现在可以工作:)