为什么我在servlet中调用此方法(获取或发布)
public void read () throws IOException
{
try{
File file = new File ("/text.txt");
BufferedReader i = new BufferedReader(new InputStreamReader
(new FileInputStream(file),"UTF8"));
String str1;
while ((str1 = i.readLine()) != null) {
// Print the content on the console
System.out.println (str1);
}
}
catch(UnsupportedEncodingException ue){
System.out.println("Not supported : ");
}
}
控制台在所有日语和阿拉伯语字符上吐出问号。但是,使用main方法从类调用此方法时,控制台会很好地吐出日语和阿拉伯语字符。我在合理的应用程序开发人员上使用websphere应用程序服务器。
注意,该方法不在servlet中,而是另一个类的一部分。
答案 0 :(得分:1)
控制台在所有日语和阿拉伯语字符上吐出问号
您需要将控制台配置为使用涵盖这些字符的字符集。
如何做到这一点取决于谁在管理控制台。如果它是例如Eclipse,那么你可以通过设置 Window>来做到这一点。偏好>一般>工作区>文本文件编码为UTF-8。
答案 1 :(得分:0)
在Servlet响应中,您需要正确设置标头。类似于以下内容。
response.setContentType("text/html; charset=utf-8");
检查日本和阿拉伯字符的正确字符集。