关于因为系统语言环境不同而造成的上载标题乱码有关问题

关于因为系统语言环境不同而造成的下载标题乱码问题
<!--StartFragment -->
/**
 * 字元轉碼,用於頁面下載
 * @param s
 * @param encode 通常用utf-8
 * @return
 */
public static String toEncodeString(String s, String encode) {
 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 = Character.toString(c).getBytes(encode);
   } 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).toLowerCase());
   }
  }
 }
 return sb.toString();
}
 

使用方法:

toEncodeString("單位影人管理.xls", "utf-8")