重音字符:编译前后的差异

时间:2013-07-30 15:34:43

标签: java netbeans diacritics non-ascii-characters

我创建了一个轻量级应用程序,用于读取页面的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"));

1 个答案:

答案 0 :(得分:0)

您的代码在阅读网址内容时使用平台默认字符编码。相反,您需要将显式字符编码传递给InputStreamReader。这应该是url本身指定的编码(这应该包含在"Content-Type"标头中)。如果字符编码未包含在相关标题中,则需要选择适当的默认值。