我有文本字符串(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字符串的?它是否以網頁的形式輸入? –