我目前的要求是存储Unicode和其他特殊字符,例如MySQL表中的双引号。为此目的,正如许多人所建议的那样,我们应该使用Apache的 StringEscapeUtils.escapeJava()方法。问题是,虽然这种方法确实用它们各自的unicodes(\ uxxxx)替换特殊字符,但是MySQL表将它们存储为uxxxx而不是\ uxxxx。因此,当我尝试从数据库中提取时对其进行解码时, StringEscapeUtils.unescapeJava()会失败(因为它无法找到' \')。
以下是我的问题:
答案 0 :(得分:0)
请勿使用Unicode“codepoints”(\uxxxx
),请使用UTF8。
不要'使用任何特殊功能。而是宣布一切都是UTF-8(MySQL中的utf8mb4
)。
(如果你被提供\uxxxx
,那么你将不得不首先转换为utf8。如果你真正的问题是如何转换,那就问问那样。)
`