Mp3乱码、中文MP3名字下载、xml中文问题解决方法

来源:互联网 发布:推锅 网络用语 编辑:程序博客网 时间:2024/04/28 23:56

    MP3乱码解决问题   

           InputStreamReader inputReader=new InputStreamReader(inputStream);改为
           InputStreamReader inputReader=new InputStreamReader(inputStream,"GB2312");
              好像有InputStreamReader的地方都要用"GB2312",用"UTF-8"不行.

1.中文MP3名字下载问题
http://192.168.1.104:8080/mp3/a1.mp3这样可以下载到
http://192.168.1.104:8080/mp3/勇气.mp3   出现中文名字就下载不到了。

      解决方法:
          1.修改Tomcat服务器conf\server.xml 这个文件。打开找到8080(我的Tomcat有两段port="8080",反正我两段都加了),在最后加上 URIEncoding="utf-8"
               < Connector port="8080" protocol="HTTP/1.1" 
                       connectionTimeout="20000"
                       redirectPort="8443"
                       URIEncoding="utf-8"/>
         2.程序中修改“中文”的编码。关键代码URLEncoder.encode("string","utf-8");(只要把中文部分转编码就可以了)mp3info.getMp3Name()取得MP3的名字。
               utfname=URLEncoder.encode(mp3info.getMp3Name(),"utf-8");
               mp3url="http://192.168.1.104:8080/mp3/"+utfname;
              URL url=new URL(mp3url);
               ....
              这样就可以下载到中文名称的MP3文件了。

2.XML读取得中文的问题
        解决方法:在InputStreamReader中设置编码为GB2312
          关键代码如下:
                HttpURLConnection urlconn=(HttpURLConnection)url.openConnection();
               BufferedReader   br=new BufferedReader(new InputStreamReader(urlconn.getInputStream(),"gb2312"));
              这样就可以解决问题了!