mush_me 2009-06-14 15:17
浏览 242
已采纳

又见乱码,url写成文件

简单描述下问题
需要将url生成静态页面
服务器是 apache+tomcat 乱码都处理过了,包括web.xml里的设置,过滤器的设置,apache转发的设置。
整个系统不存在页面显示的乱码问题。
如果是以上问题的回答,请不要回答。

现在的问题是,需要将一个地址转换成html文件,已便于其它程序(一个邮件订阅系统)使用。

[code="java"]
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;

public class UrlToHtml {
public static void main(String[] args) {
String content = readUrlContent("http://www.investide.cn/edm/index.do");
//http://www.investide.cn/edm/index.do用的是gbk编码
try{
content = new String(content.getBytes(), "GBK");
System.out.println(content);
if (!(writeFile(content, "/home/mush/1.html")))
{
System.out.println("文件生成失败");
}
}catch(Exception e){
e.printStackTrace();
}
}
public static String readUrlContent(String url)
{
StringBuffer sb = new StringBuffer();
try
{
String strLine;
URL urlObj = new URL(url);
InputStream streamObj = urlObj.openStream();
InputStreamReader readerObj = new InputStreamReader(streamObj,"GBK");
BufferedReader buffObj = new BufferedReader(readerObj);
while ((strLine = buffObj.readLine()) != null)
sb.append(strLine + "\r");
buffObj.close();
} catch (MalformedURLException e) {
System.err.println("url error");
} catch (IOException e) {
System.out.println("IO error");
}
return sb.toString();
}

 public static boolean writeFile(String str, String filePath) {
        boolean result = true;
        try {
          //FileWriter fw = new FileWriter(filePath);
            Writer fw = new OutputStreamWriter(new FileOutputStream (filePath),"GBK");
          fw.write(str);
          fw.close();
        } catch (IOException e) {
          result = false;
          System.out.println("写文件失败");
        }
        return result;
      }

}

[/code]

开始程序在本地运行没有任何问题,放到服务器上后,生成的文件就会乱码,然后加了几处乱码处理(见三处GBK编码),仍然显示时乱码。
服务器用的是redhat,i18n文件已设置过GBK编码。

能处理的地方都处理过了,不明白为什么还有问题。
望指教。。。
[b]问题补充:[/b]

Tomcat的server.xml也设置过了。
整个系统不存在页面显示的乱码问题。
如果是以上问题的回答,请不要回答。

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)