import java.io.UnsupportedEncodingException; public class TestCode { public static void main(String[] args) { String str="你好吗"; try { //将 String 转换为 application/x-www-form-urlencoded MIME 格式 //使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式。 String codestr=java.net.URLEncoder.encode(str,"UTF-8"); System.out.println("codestr:"+codestr); // 使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。 String decodeStr=java.net.URLDecoder.decode(codestr, "UTF-8"); System.out.println("decodestr:"+decodeStr); str="你小子好嚣张呀?"; codestr=java.net.URLEncoder.encode(str,"gbk"); System.out.println("codestr:"+codestr); decodeStr=java.net.URLDecoder.decode(codestr, "gbk"); System.out.println("decodestr:"+decodeStr); str="你小子好帅呀!"; codestr=java.net.URLEncoder.encode(str,"gb2312"); System.out.println("codestr:"+codestr); decodeStr=java.net.URLDecoder.decode(codestr, "gb2312"); System.out.println("decodestr:"+decodeStr); str="Go,go,快点,车马上要走了!"; codestr=java.net.URLEncoder.encode(str,"gb18030"); System.out.println("codestr:"+codestr); decodeStr=java.net.URLDecoder.decode(codestr, "gb18030"); System.out.println("decodestr:"+decodeStr); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } import java.net.URLEncoder; import java.net.URLDecoder; import java.io.*; public class URL { public static void main(String args[]) { try{ String enCode = URLEncoder.encode("http://www.ioby.net/default.jsp?name=哈哈", "UTF-8"); System.out.println(enCode); String deCode = URLDecoder.decode(enCode, "UTF-8"); System.out.println(deCode); } catch(UnsupportedEncodingException e) { } } } --------------- /** * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名 * * @param s 原文件名 * @return 重新编码后的文件名 */ public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c >= 0 && c <= 255) { sb.append(c); } else { byte[] b; try { b = String.valueOf(c).getBytes("utf-8"); } catch (Exception ex) { System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) k += 256; sb.append("%" + Integer.toHexString(k).toUpperCase()); } } } return sb.toString(); }