我有文本字符串(Java String),它应该包含'gerald.o'leary'
。特殊字符和Java字符串
实际上,除了'c2'以外,它还包含一个控制字符。我已经包含了十六进制转储,请参阅image1.png
了解十六进制转储。
当我将它保存到数据库,并通过运行在客户端SQL读出来,并复制粘贴到一个十六进制编辑器我看到C2的更换3F,请参阅image2.png
。
我可以住在一起,但一个事实,当这两个字符串在Java中使用String.equals(相比),返回false。
请问有人能解释一下这里发生了什么?
实际上'c2 92'正在被'3f'取代。两个字节减少到一个非常清楚这是一个编码问题的地方。 – mellamokb
http://www.fileformat.info/info/unicode/char/92/index.htm –
你有一个字符编码问题。我猜测原文包含了一个智能报价。那些文本是如何进入你的Java字符串的?它是否以网页的形式输入? –