我用system.out.print()输出时没有问题,
用debug调试时运行到FileInputStream fis = new FileInputStream(pic);时uploadPath的值都是正确的(其中含有中文)
一执行下一步即FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);时uploadPath值中的中文立刻变成乱码(???)  各位大牛们  帮帮看看  多提建议  小弟在此不胜感激啊!!!

解决方案 »

  1.   


    FileOutputStream fos = new FileOutputStream(f);
                    OutputStreamWriter writer = new OutputStreamWriter(fos, encoding);
    // 这里encoding设置下格式比如UTF-8/gbk.看你原来的编码是什么
      

  2.   

    很好奇你那个pic是怎么过来的,图片包含的是二进制数据,又不是转换成字符串,写的时候何需指定编码!?
    推测你获得pic出了问题
      

  3.   

    结贴了  问题解决了   是路径问题:
    FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);
    这句中的"/"存在问题 然后工程不能完整运行(路径编码无问题),ie提供报错页面时编码不正确导致页面中路径乱码其实路径是没问题的,
     
    将FileOutputStream fos= new FileOutputStream(uploadPath+"/"+newFileName);改为
    将FileOutputStream fos= new FileOutputStream(uploadPath+newFileName);就运行正常了