我现在有一个字符串编码格式如下“限制进”是utf8编码,我想把它存到数据库里,存成utf8码对应的中文,弄了好长时间也没有存成功,请大家帮忙!我的想法是这样的:
String aaa = “限制进”;
aaa = aaa.replaceAll("&#x", "\\\\u");
把aaa存入数据库但是存入数据库变成了\u9650\u5236\u8FDB
String aaa = “限制进”;
aaa = aaa.replaceAll("&#x", "\\\\u");
把aaa存入数据库但是存入数据库变成了\u9650\u5236\u8FDB
以数据库这三个字为例
utf-8是
%E6%95%B0%E6%8D%AE%E5%BA%93
unicode是
\u6570\u636E\u5E93
这篇文章里的方法可以把如"\\u9EC4"的String字符串转换成对应的汉字: "黄"范例:
System.out.println(fromUnicode("\\u9EC4".toCharArray(), 0, 4, new char[100]));
String aaa = “限制进”;
aaa = aaa.replaceAll("&#x", "\\\\u");你这么一替换不就是把 "&#x" 替换成了"\u"了吗?
你用直接替换replace
String str = "限制进";
System.out.println(StringEscapeUtils.unescapeHtml(str));
}
}Apache Commons Lang 包(commons-lang-x.x.jar),这个包会被很多的开源项目所引用,在你的 classpath 下可能已经存在了!
String aaa = "限制进";
String[] arr = aaa.split(";");
char[] carr = new char[arr.length];
for (int i = 0; i < arr.length; i++)
{
carr[i] = (char)(Integer.parseInt(arr[i].substring(3)));
}
String result = new String(carr);