java - 从 Java 字符串中删除字符 e280a8

标签 java json oracle character-encoding byte

我的应用程序采用 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/

相关文章:

java - 如何使用 Jackson Streaming API 处理自定义 boolean 字符串

java - Spring Data JPA JpaRepository.save(entity) 不返回数据库默认值

java - 如何在java中以友好的方式显示错误消息

java - Android 启动新 Activity 时出错

java.lang.VerifyError : Constructor must call super() or this() before return 错误

java - 检测 JSON 属性的类型

javascript - angular.fromJson 和 JSON.parse 有什么区别?

java - 如何使用java获取json中的数组?

java - 我应该如何开始分析/优化我的 java 应用程序/oracle 数据库?

sql - 我想在从 oracle 中选择时格式化电话号码列