Java中取到前台中文这种Unicode编码问题(%u8239%u540D%u4E09)

public static void main(String[] args) {
    //取得request
    HttpServletRequest request = SessionContext.getServletContext().getRequest();
    //取得界面传参(取得面板重命名里的值)
    String chuanM=request.getParameter("chuanming");
    //如果chaunM是不标准的Unicode编码(%u8239%u540D%u4E09)对应标准的为(\u8239\u540d\u4e09)
    if(!chuanM.isEmpty()){
            chuanM = chuanM.toLowerCase();
            System.out.println(chuanM);
            
            chuanM = chuanM.replace("%", "\\");
            
            System.out.println(chuanM);
            
            
            chuanming = decodeUnicode(chuanM);
            
            System.out.println(chuanming);
            
        }

    }
    //将Unicode编码转换成中文
    public  String decodeUnicode(String dataStr) {     
        int start = 0;     
        int end = 0;     
        final StringBuffer buffer = new StringBuffer();     
        while (start > -1) {     
            end = dataStr.indexOf("\\u", start + 2);     
            String charStr = "";     
            if (end == -1) {     
                charStr = dataStr.substring(start + 2, dataStr.length());     
            } else {     
                charStr = dataStr.substring(start + 2, end);     
            }     
            char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。     
            buffer.append(new Character(letter).toString());     
            start = end;     
        }     
        return buffer.toString();     
     }

//将中文转换成Unicode编码
public class UnicdeBianMa {
        public static void main(String[] args) {
            String s = "船名三";
            System.out.println(string2Unicode(s));
        }
        public static String string2Unicode(String string) {//\u8239\u540d\u4e09    %u8239%u540D%u4E09
            StringBuffer unicode = new StringBuffer();
            for (int i = 0; i < string.length(); i++) {
                // 取出每一个字符
                char c = string.charAt(i);
                // 转换为unicode
                unicode.append("\\u" + Integer.toHexString(c));
            }
            return unicode.toString();
        }
    


阅读更多
文章标签: java
想对作者说点什么? 我来说一句

深入分析 Java 中的中文编码问题

2014年06月22日 689KB 下载

java编码问题详解

2012年06月20日 44KB 下载

Java中文乱码

2014年08月27日 298KB 下载

PHP 开发中的中文编码问题

2009年04月05日 45KB 下载

Java中文编码问题小结

2008年08月21日 281KB 下载

Java 中的中文编码问题

2012年07月09日 836KB 下载

ajax使用示例-unicode转换中文

2013年11月19日 4KB 下载

java 中文Unicode转换

2012年11月19日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭