我从我们的数据库(第三方工具)获取一个字符串 - 我遇到了一个问题
名字 - 有时它是正确的“Tarsøy”,并且一切顺利但有时它是“Tars00F8y”。
这会破坏这个过程 - 我试图通过URLDecoder.decode(name, "UTF-8")
编写一些验证函数,它获取一个字符串并返回已验证的函数但不成功。
这就是我从基地得到刺痛的方式:
Database.WIKI.get(index); // the index is the ID of the string
// this is no sql DB
现在关于“有时” - 这意味着这个代码只是工作不同=)我认为这与内部数据库异常相关联。所以我试着做validate(Database.WIKI.get(index))
之类的事情
也许我应该尝试Encode String to UTF-8
答案 0 :(得分:2)
在Java,JavaScript和(特别有趣的)JSON中,\u00F8
存在符号ø
。我认为这是发送到数据库,可能来自特定计算机区域设置上的特定浏览器。 \u
消失了,瞧瞧。也许它仍然是字符串中不可见的控制字符。这对修理来说很不错。
我的猜测是JSON数据;但是通常JSON库应该解析u-escaped字符。这很奇怪。
检查存储"x\\u00FDx"
时会发生什么。焦炭长度是6或7(幸运)。
一些健全性检查:假设你使用UTF-8工作,特别是如果数据是通过HTML或JS到达的话:
<form action="..." accept-charset="UTF-8">
contentType: "application/json; charset=UTF-8"