文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何解决java转义json出现\u0000 等乱码的问题

2023-06-14 05:12

关注

这篇文章主要讲解了“如何解决java转义json出现\u0000 等乱码的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决java转义json出现\u0000 等乱码的问题”吧!

今天遇到了String乱码怎么都去不了的问题,最后的解决方法很简单,也不是方法的问题,是数据过滤之后进行的数据处理,在处理阶段生成了乱码,难怪我在过滤阶段怎么去都去不掉- -,不过花时间知道了很多处理乱码的方法,在这里记录一下。

在将中文数据转成json格式的时候,碰到了很多char型直接显示出来的,比如\u0000, \u201d, \u201c

首先我想到的是我的数据筛选出现了问题,于是去修改了筛选的部分:

title = title.replaceAll("\\u0000","");

title = title.replaceAll("\u0000","");

首先是这种,利用String的replace和replaceAll方法去过滤,这也是大部分乱码过滤的方法。

在这之后,我使用了直接循环处理char的方法,将String变成char型,然后一个一个判断,虽然比较笨这个方法,但是也算一种吧,谁让我菜呢。

之后我猜可能是编码问题导致了乱码,而现在不情况是只有个别字符串中出现了乱码,大部分还是正确的,所以不存在编码问题。

后来我是在想是不是String转Json的时候出现了问题,于是,将spring自带的json换成了阿里的fastjson,解决了部分的乱码问题(\u201d, \u201c),但是\u0000这个东西就是去不掉。

google里有人说string转json最好用list也不是string[]

https://stackoverflow.com/questions/36696090/how-to-use-gson-to-encode-string-array-data-into-json-properly

我的解决

最后,我试着在数据处理完成后再删除\u0000, 结果成功,哎,感觉浪费了好几个小时啊。

补充:Java 中各种空(''、\u0000、null)的区别?

在使用下面的SQL查询时,发现去不掉空格,而且把limit 去掉以后空格就没有了,琢磨了很久才发现问题的关键所在。

主要是\u0000在作怪!!!

select id,company_name,username,remarks,address from table_alldata where company_name !='' and remarks is null limit 1000;

结果是这样的:

如何解决java转义json出现\u0000 等乱码的问题

回答:从class字节码的角度来理解吧

String s1 = ""的情况,下面是编译后的字节码,可以看到,这种情况s1="aaa"其实没什么区别的,都是从常量池推一个字符串到栈顶,并赋给本地变量。

String s2=null的情况,这个时候,并没有在常量池中生成任何的字符串常量,仅仅是将null推送到栈顶赋值给变量。

String s3 = "u0000"的情况,会在常量池生成一个表示NUL的一个字符串,也就是所谓的Control Character。

如何解决java转义json出现\u0000 等乱码的问题

如何解决java转义json出现\u0000 等乱码的问题

如何解决java转义json出现\u0000 等乱码的问题

感谢各位的阅读,以上就是“如何解决java转义json出现\u0000 等乱码的问题”的内容了,经过本文的学习后,相信大家对如何解决java转义json出现\u0000 等乱码的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯