据我所知,我知道 unicode 字符意味着每个字母都有一个唯一的代码。
在我的数据库中,我设置了 utl8。
在这里,我将一个字符串(ఉత్తరప్రదేశ్)直接保存到java中的数据库中。然后将其保存为
ఉత్తరప
్రదేశ్
但是我使用保存在数据库中的相同字符串
escapeUnicode(StringEscapeUtils.unescapeHtml("here string"));
public String escapeUnicode(String input) {
StringBuilder b = new StringBuilder(input.length());
Formatter f = new Formatter(b);
for (char c : input.toCharArray()) {
if (c < 128) {
b.append(c);
} else {
f.format("\\u%04x", (int) c);
}
}
return b.toString();
}
它生成 unicode 为
\u0c09\u0c24\u0c4d\u0c24\u0c30\u0c2a\u0c4d\u0c30\u0c26\u0c47\u0c36\u0c4d
两者都在浏览器中正确显示。为什么它们都生成不同的 unicode?提前致谢..