public class MyUtil { public static void main(String[] args) throws Exception { String s = "a中aabb"; String url = setUrlForChn(s); System.out.println(url); } /** * 对含有中文的字符串进行Unicode编码 * ue400 u9fa5 Unicode表中的汉字的头和尾 */ public static String setUrlForChn(String url) throws Exception{ String regEx = "[u4e00-u9fa5]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(url); StringBuffer sb = new StringBuffer(); while(m.find()){ m.appendReplacement(sb, URLEncoder.encode(m.group(), "UTF-8")); } m.appendTail(sb); return sb.toString(); } }
打印:
a%E4%B8%ADaabb