PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Soft_Job
[請益] openfire offline message中文沒有進DB
作者:
banjmin
(HD)
2014-05-12 15:17:52
各位業界先進好
小弟大學畢業剛考完研所 現在很無聊等入學的時候
寫一些Web作品 遇到一些問題 我寫了一個像logdown的部落格網站
後端用的是Laravel 4.1
註冊以後 可以用markdown & latex寫文章 並給大家瀏覽
用的是MathJax和Showdown.js
最近看一些Webconf PHPconf的影片對於像Facebook 那樣的WebRTC
也有興趣 所以我用了openfire 3.9.3 xmpp Server 與部落格都使用 MySQL儲存
是希望方便整合在一起 可以管控 文章資料 包含對話內容 user資料 offline message等
配合Strophe.js 透過BOSH做不同port的cross domain request
寫了一個小FB的功能 加進去原本的部落格網站
中間也遇到很多問題 不過透過安裝openfire plugin 或看manual
及google文章 相似解法都能修改成 解決我的問題的方法
但是寫了一個星期多這兩天這個問題一直解不了:
當一方user下線後 另一方傳送的訊息 會存在ofoffline table中
openfire database已經是utf8編碼 與utf8_general_ci排序
openfire.xml若是照此設定
jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true
offline message可以存進DB的只有英文和數字 若是中文字元全部會變成"?"
照網路上的解法 jdbc:mysql://localhost:3306/openfire後的設定改成
?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
英文數字 的offline message仍然可以存進DB 但是變成只要有中文字元的message
連insert都沒有成功 可是平常雙方都在線上時的溝通
中文都是可以正常顯示的 也可以順利insert中文對話進
ofmessagearchive table中 並保留30天內的對話記錄
到這邊我完全無解 看起來應該是offline message的儲存編碼機制與其他function不同
網路上的解法可能也是早期版本適用的東西
原本想繼續完成像FB那樣打開對話框 可以Ajax顯示歷史訊息的功能
但是就卡在offline message的編碼問題
我是不是只能提交ticket給官方 請他們處理了?
還是我哪裡弄錯了 其實是可以解決的?
作者:
chrisQQ
(ChrisLiu)
2014-05-12 16:22:00
dump jdbc insert 時的 sql, 沒有 escape ?
作者: banjmin (HD)
2014-05-12 16:53:00
剛剛把openfire整個移除重新建DB 在一開始就設定好utf8後就可以正常儲存中文的offline message了回去看jdbc的url 原本安裝過程中填寫的"&" 被翻譯成& 存在xml中 所以這應該就是原因了 網路上的解法應該只適用於舊版
繼續閱讀
Re: [討論] 資料擷取程式發想
yphs88
Re: [討論] 資料擷取程式發想
LaPass
[徵才] 歡迎加入 Accupass 活動通
crowy
[討論] 資料擷取程式發想
d25702
[徵才] 說無限互動Engineer暑期實習專案
nhcb
[徵人] 高報酬急徵web前端工程師即戰力
spotdog
Fw: [揪團] 程式讀書會
roll200
Re: [請益] 寫出自己想要的程式
ideaup
[閒聊] 恭喜開板
hn12303158
[閒聊] 恭喜開版
envia
Links
booklink
Contact Us: admin [ a t ] ucptt.com