這是我的一種保存方法。我將2.3.7的Grails升級到2.4.3後,所有的request.JSON數據都崩潰了。
高清domainInstance =新域(request.JSON)
domainInstance.save()
...
之前,我升級Grails的版本,我可以韓文或其他語言保存到數據庫,而不任何編碼問題。 將Grails升級到2.4.3之後,所有使用request.JSON保存的AJAX輸入數據都會如此顯示。
(我也檢查了數據庫,但保存它像上面)
然而,這要求使用參數(形式)的所有其他語言的數據,它保存原樣。
我檢查了所有的配置(grails.converters.encoding),請求頭的內容類型,GSP頁面的charset值,然而,一切都正確。(UTF-8)
所以,我測試像下面
DEF數據= request.reader.text
log.debug數據
log.debug request.getCharacterEncoding() - >打印出UTF-8
DEF bindingData = JSON.parse(數據) - >打印出相同的數據作爲輸入
DEF domainInstance =新域(bindingData) - >當我檢查分貝,數據被適當地保存
由於這,我認爲JSON.parse(請求)方法可能有問題。
但瘋狂的事情是這隻發生在部署的linux服務器上。
它不會發生在本地環境。
我希望有人給我很好的建議
我對這個問題很厭倦。
這是我爲您的信息升級的插件列表。
build ":tomcat:7.0.55"
compile ":scaffolding:2.1.2"
compile ':cache:1.1.7'
compile ":asset-pipeline:1.9.6"
runtime ":hibernate4:4.3.5.5"
runtime ":database-migration:1.4.0"
runtime ":jquery:1.11.1"
runtime ":resources:1.2.8"
test ":code-coverage:2.0.3-1"