2014-08-29 36 views
1

這是我的一種保存方法。我將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" 

回答

0

它又是我。 Tomcat設置導致此問題。 我改變了語言環境配置後,它工作正常。 但是,我仍然不明白tomcat如何使用以前的設置和grails 2.3.7。 無論如何,我希望這篇文章對任何有類似問題的人很有幫助。

相關問題