2015年12月2日 星期三

Android 實戰記錄 (5) - 將unicode String 編碼 parser 成 string

因為有些字元在php端進mysql server可能不容易
所以可能會先將字元轉成string (變成可視狀態)
或經過json_encode 後

變成如下
{"content":"\\ud83d\\ude01\\ud83d\\ude04\\ud83d\\ude07\\ud83d\\ude2f"}

此時取出的content
他為字串"\\ud83d\\ude01\\ud83d\\ude04\\ud83d\\ude07\\ud83d\\ude2f"

需要再跳轉一次變成如下,才會字元真正的內容
"\ud83d\ude01\ud83d\ude04\ud83d\ude07\ud83d\ude2f"

在發生在實作聊天訊息時,使用表情符號造成。

幸好有一個Library可解決這個問題

http://www.java2s.com/Code/Jar/o/Downloadorgapachecommonslangjar.htm

用Android Studio的話可加入Gradle

compile 'org.apache.commons:commons-lang3:3.4'

使用如下

text = StringEscapeUtils.unescapeJava(input);

執行安裝測試時,會發生gradle build錯誤訊息
finished with non-zero exit value 2

經網路解找到
http://stackoverflow.com/questions/33296786/error-finished-with-non-zero-exit-value2
http://developer.android.com/intl/zh-tw/tools/building/multidex.html

需要加入

defaultConfig {
    multiDexEnabled true}


沒有留言:

張貼留言