后台程序从互联网上分析网页,得到的信息在swing中显示。网页是utf-8编码,现在代码中写死的中文显示毫无问题(如按钮上的问题),从网页中读取的现实为乱码。无论如何设置字体。这是为什么?最奇怪的是,eclipse开发环境下一切正常,用eclipse的export导出成jar执行就有这样的问题。

解决方案 »

  1.   

    应该是你读取到的就是乱码吧,需要在分析网页的时候进行编码转化。
    比如,你可以使用UTF-8或GBK来进行转化分析网页读取到的内容,然后再显示出来。
      

  2.   

    读到的貌似不是乱麻。开发环境能正常显示,打包成jar后不行。我做了utf-8转化:new String(line.getBytes(),"utf-8")能正常显示中文,不过在解析网页时候却会有问题,比如“中文< /span”估计还是字符串处理的问题
      

  3.   

    public static String ViewSource(String url1) {
    StringBuffer htmlSource = null; try {
    URL url = new URL(url1); URLConnection cnn = url.openConnection();
    cnn.setAllowUserInteraction(false);
    BufferedReader in = new BufferedReader(new InputStreamReader(cnn
    .getInputStream(), "gb18030"));
    // 使用openStream得到一输入流并由此构造一个BufferedReader对象
    String inputLine; htmlSource = new StringBuffer(100000);
    // 从输入流不断的读数据,直到读完为止
    while ((inputLine = in.readLine()) != null) {
    htmlSource.append(inputLine + "\n");
    } } catch (Exception e) { JOptionPane.showMessageDialog(null, "网络连接错误", "错误",
    JOptionPane.INFORMATION_MESSAGE);
    return null; } return htmlSource.toString(); }我用过的通过url获得网页源码的函数....