我的应用程序采用 Java 字符串并将其放入 JSON 响应中,它可以在 IE 上运行,但出于某种原因,在 Chrome 和 Firefox 上我看不到页面上的数据,我没有收到任何控制台错误,而且我获得能够在 Firebug 和 Chrome 调试工具上检查它的响应对象。
我正在使用 Java 6,所讨论的字符串是从 Oracle 数据库的 CLOB 列创建的:
4:42 PM<
这是上述字符串在 Oracle 上的十六进制代码:
34,3a,34,32,20,50,4d,e2,80,a8,3c
如您所见,在“M”(4d) 和“<”(3c) 之间我们有值 e2,80,a8,根据 UTF-8 是行分隔符 (e280a8),我'我通过仅添加子字符串直到“M”来测试我的应用程序,它适用于所有浏览器,但当我再包含一个字符时它会中断。因此可以肯定地说是角色导致了问题。
Java 控制台输出字符串为:
4:42 PM
<
其字节值为:
52,58,52,50,32,80,77,-30,-128,-88,60
因为我知道“M”和“<”之间不应该有换行符或其他任何东西,我认为解决方案是删除该字符,但是 desc = desc.replaceAll("â €¨", "");
似乎不起作用。
有什么建议吗?
最佳答案
字节为UTF-8,为Unicode行分隔符"\u2028"
。你是对的。
desc = desc.replace("\u2028", "");
关于java - 从 Java 字符串中删除字符 e280a8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061895/