我正在使用liferay 6.2與mysql- 5.5.52。在自定義portlet我已經暴露其由Android使用& iOS應用的一些網絡服務,在一些API的是一個字符串參數&如果我們在param所發送微笑等時,拋出異常:值java.sql.SQLException:不正確的字符串值: '\ XF0 \ x9F \ X98 \ X90 \ XF0 \ x9F ......' 在第1行列 'comment_',我也試圖改變數據庫歸類到utf8mb4 -default整理,在這種情況下,我能夠爲了保存這個☺,但不是其他的,我試圖找出問題所在。無法在mysql數據庫liferay中保存表情
2
A
回答
3
由於您沒有提供究竟你已經改變了的細節,這是很難確定這個答案是相關的。如果您沒有,請確保更改字符集而不僅僅是排序規則。
字符集是一組符號和編碼。排序規則是一組用於比較字符集中的字符的規則。
同時仔細檢查您的數據庫連接字符串。它可以強制執行與爲數據庫/表指定的編碼不同的編碼。
0
的問題可以是任何層 - 最肯定的東西有編碼做(如米倫在他的回答說明)。您可能會從您的Web服務中獲取非法編碼(或解碼)的內容,在數據庫連接(客戶端)中破壞它或在數據庫中編碼錯誤。 Liferay的文檔僅爲數據庫提到了create database dbname character set utf8;
。
容易測試和識別的UTF-8字符的主要來源之一是http://fliptitle.com - 一旦您最喜歡的測試文本正確通過,您可能編碼正確。如果沒有:檢查你的字體,因爲他們沒有使用所有的字符,或者你的編碼錯誤。
相關問題
- 1. Django無法在數據庫中保存表單數據
- 2. 無法將表單數據保存在數據庫中 - Django
- 3. 我無法將我的PHP數據保存到MySQL數據庫
- 4. 輸入表單數據不保存在mysql數據庫中?
- 5. 似乎無法保存在Visual Studio 2012中的數據庫表
- 6. 在MySQL數據庫中保存GCM REGID
- 7. 在MySQL數據庫中保存畫布
- 8. 在MySQL數據庫中保存口音
- 9. 數據無法正確保存到mysql
- 10. 無法在數據庫幫助中保存數據!
- 11. 數據無法保存在我的數據庫中
- 12. 無法在MySql數據庫中存儲Base64數據
- 13. 在SQL Server數據庫C中保存表情符號#
- 14. 無法保存在數據庫中的數據庫在Android中的sqlite
- 15. CStarRating無法保存到數據庫
- 16. Rails form_for無法保存數據庫
- 17. Symfony2無法保存到數據庫
- 18. Liferay在哪裏保存數據?
- 19. 無法將Backbone JS模型保存到MySQL數據庫
- 20. 無法將php變量保存到mysql數據庫或文件
- 21. 無法保存android中的Sqlite數據庫中的數據?
- 22. Mysql - 數據庫中的表情符號
- 23. 數據保存到MySQL數據庫
- 24. 在數據庫中保存表格
- 25. 保存在MySQL數據庫功能
- 26. 在mysql中創建事件以保存數據庫的方法
- 27. 無法在mysql中刪除數據庫
- 28. 在crm和mysql數據庫中保存Zoho Creator表格
- 29. 在MySQL數據庫中保存表單字段usinf Flex
- 30. 表單輸入在MySQL數據庫中保存爲'1'
我試過改變字符,也嘗試將mysql變量character_set_client,_connection和_results更改爲utf8mb4,但仍然是同樣的問題。 – sRijit
現在我正在做的是將字符串編碼爲base64,然後保存並將其保存,但解碼過程中會得到不同的結果。 – sRijit