我创建了一个轻量级应用程序,用于读取页面的HTML代码并将其显示给用户。
在NetBeans的开发过程中,没有任何问题,但是当我在“Clean Build”之后使用这个IDE给出的.jar时,我的口音有些麻烦。
例如,在NetBeans下显示法语单词"renégocier"
。
但是,随着NetBeans的简洁构建,单词显示为"renégocier"
...
有什么想法吗?
编辑:这是我阅读HTML代码的方式:
URL urlObject=null;
URLConnection con=null;
String inputLine;
String codeHTML
urlObject = new URL(UrlToVerification);
con = urlObject.openConnection();
BufferedReader webData = new BufferedReader(new InputStreamReader(con.getInputStream()));
while ((inputLine = webData.readLine()) != null)
{
codeHTML += inputLine; // Lecture du code HTML
}
解决方案:
替换:
BufferedReader webData = new BufferedReader(new InputStreamReader(con.getInputStream()));
with:
BufferedReader webData = new BufferedReader(new InputStreamReader(urlObject.openStream(), "UTF-8"));
答案 0 :(得分:0)
您的代码在阅读网址内容时使用平台默认字符编码。相反,您需要将显式字符编码传递给InputStreamReader
。这应该是url本身指定的编码(这应该包含在"Content-Type"
标头中)。如果字符编码未包含在相关标题中,则需要选择适当的默认值。