java io 读取输出文件中文乱码问题

java io 读取输出文件中文乱码问题。windows系统没有问题。服务器是linux,输出就是乱码。
[b]问题补充:[/b]
源码,大家看下
[b]问题补充:[/b]
现实页面!!
[b]问题补充:[/b]
...............
[b]问题补充:[/b]
所有方法都试了,还是不行 :cry:
[b]问题补充:[/b]
问题解决了,谢谢各位。
闭着眼来吧,谁也别怪我啊
抽到谁是谁

解决方法应该是比较简单的

1.源字符串编码
2.传输过程中的编码
3.结果字符串编码

只要这三种做到一致,就不会有问题。
在从流中读数据时,最好使用byte数组,这样的好处是可以支持任何编码格式。

看看你Linux服务器编码是什么,包含中文字符集么

windows系统一般都是中文版本,当然默认字符就是gb2312,中文当然不会乱码
所以,读取文件的时候最好指定字符编码

InputStreamReader inread = new InputStreamReader(new FileInputStream(fileName),encoding);

InputStreamReader inread = new InputStreamReader(new FileInputStream(fileName),"GBK");

编码问题,现在通用的编码格式是utf-8,java开发最常用的是utf8,so。。I believe it should be :
InputStreamReader inread = new InputStreamReader(new FileInputStream(fileName),"UTF-8");

把读出来的str重新转换一次
str=new String(str.getBytes("iso-8859-1"));

windows下行,linux下不行,你肯定是linux服务器的默认编码没有设置成你工程对应的编码了,应该不关你程序里面的事情了,我看你只要修改linux服务器编码就能解决问题的,我以前部署的时候也遇到过,程序里面是统一管理编码过滤的,应该能确定linux的编码有问题。关于如何修改linux编码,baidu吧,关键字linux 默认编码。

源码在哪????

把它改成用InputStreamReader inread = new InputStreamReader(new FileInputStream(fileName),"GBK");

char bytes[] = new char[1024];

在execute方法里
最前面加上
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encodin);
你调试下你保存内容时是不是乱码
应该找出乱码出现的第一位置

这个:

看看你Linux服务器编码是什么,包含中文字符集么

你确定你看了?

在你的src里面加入这个filter类
[code="java"]public class CharacterEncodingFilter implements Filter{

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
                throws IOException, ServletException {

    request.setCharacterEncoding("gb2312");
    chain.doFilter(request,response);
}

public void init(FilterConfig arg0) throws ServletException {

}

}
[/code]
然后再你的web.xml里面加入
[code="java"]
encodingFilter
com.hyman.structs.filter.CharacterEncodingFilter

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>[/code]

注意web.xml中的这段代码加在之前。

如果你已经试了通过java控制转码不好使的话。

那可能是你的linux系统中的字库的问题。

有两种情况。

1.linux系统没有支持的字库。需要下载。
2.linux系统有此字库,但字库配置文件没有链接此字库。
需要修改字库配置文件。