由于现在正在做一个项目,需要调用别人提供的API里面的方法send(String),他要求是传入的string参数必须为utf-8编码的才能正常显示,否则调用后显示的内容将是乱码,于是有一种解决办法是在整个项目程序启动时,加一个默认的编码方式,如在unix下启动时加上 -Dfile.encoding=utf-8 这样,整个项目内部传的参数都是以utf-8编码了,可是这有一个问题就是别的api有的是GBK的,导致别人的内容有些又成乱码了,请教各位高手,能不能在程序内部解决这种编码的问题呢?

解决方案 »

  1.   

    String newstr = new String(oldstr.getbytes(),"UTF-8");
      

  2.   

    写 send(String) 方法的人真是高啊。竟然“传入的string参数必须为utf-8编码的才能正常显示”。
      

  3.   

    哎。100分啊。又没赶上。  楼主解决了这个问题之后多看看JAVA API。 很有帮助的。基础非常的重要。
      

  4.   

    String newstr = new String(oldstr.getbytes(),"UTF-8");
      

  5.   

    String newstr = new String(oldstr.getbytes(),"UTF-8");
    这个方法是用UTF-8来解码oldstr,但是生成的newstr并不是utf-8编码的,newstr的编码方式还是依赖所处的系统环境而定的。
    用这个方法后还是乱码,看来只有在程序启动时加一个默认的编码方式了。不过还是谢谢各位,来者都有分。