2012-02-07 14 views
5

में पैरामीटर एन्कोडिंग समस्या का अनुरोध करें मेरा grails ऐप अनुरोध पैरामीटर सही ढंग से डीकोड नहीं करेगा।Grails टॉमकैट

config.groovy में:

  • grails.views.gsp.encoding = "UTF-8"
  • grails.converters.encoding = "UTF-8"

सभी पेज के निर्देश पर मेरी जीएसपी के उपयोग contentType="text/html; charset=UTF-8" के साथ-साथ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> सिर तत्व में।

हालांकि, जब मैं अपने नियंत्रक में परम वस्तु से पोस्ट किए गए मापदंडों प्राप्त करते हैं, अनुप्रयोग सिर्फ कचरा प्रिंट ...

मैं Grails उपयोग कर रहा हूँ 1.3.7 संस्करण बिलाव से अधिक तैनात 5. अन्य प्लग इन इंस्टॉल को छोड़कर बिल्ला:

हाइबरनेट 1.3.7 jQuery 1.7.1 वसंत-सुरक्षा-कोर 1.2.6 webxml 1.4

संपादित करें: आगे डिबगिंग से, मुझे लगता है कि एप्लिकेशन घाट में ठीक चलेगा ध्यान दिया है। इसलिए मुझे संदेह है कि यह एक टोमकैट मुद्दा होना चाहिए। मेरा मुद्दा समान है to this post (हां, मैं शिरो प्लगइन का उपयोग नहीं कर रहा हूं)।

क्या कोई इससे मदद कर सकता है?

+0

डेटाबेस कचरा में सामग्री है, या केवल मुद्रित क्या है? क्या आपके पास webxml प्लगइन स्थापित है ('grails list-plugins --installed' चलाएं)? समस्या को और डीबग करने से –

+0

वेब स्तरीय में है। जब तक वे नियंत्रक तक पहुंचते हैं तब तक सबमिट किए गए मूल्य वे पहले से ही कचरा हैं। –

+0

मेरे स्थापित प्लगइन्स हैं: हाइबरनेट 1.3.7, टॉमकैट, jquery 1.7.1, वसंत-सुरक्षा-कोर 1.2.6, और वेब एक्सएमएल 1.4 –

उत्तर

8

आपको URIEncoding='UTF-8' को Connector तत्वों को conf/server.xml में जोड़ने की आवश्यकता है, उदा।

<Connector port='8080' protocol='HTTP/1.1' connectionTimeout='20000' 
      redirectPort='8443' URIEncoding='UTF-8' /> 

यह यहाँ वर्णित है: https://wiki.apache.org/tomcat/FAQ/CharacterEncoding

+0

आपके उत्तर के लिए धन्यवाद। मेरी समस्या वास्तव में पोस्ट पैरामीटर के साथ है। अगर मैं सही तरीके से एफएक्यू को समझता हूं तो यूआरआईएनकोडिंग केवल जीईटी पैरामीटर पर लागू होता है। फिर भी, मैंने इसे एक शॉट दिया लेकिन काम नहीं किया। यह एक लंबा शॉट हो सकता है लेकिन क्या यह मेरे जेनरेट किए गए web.xml में फ़िल्टर का ऑर्डर हो सकता है?वहां मेरे पास उस क्रम में निम्न फ़िल्टर हैं: springSecurityFilterChain -> साइटमैश -> charEncodingFilter -> urlMapping -> hiddenHttpMethod -> grailsWebRequest –

+0

क्षमा करें, मुझे नहीं पता कि आप वेब एक्सएमएल 1.4 का उपयोग कर रहे हैं - आपको 1.4.1 का उपयोग करने की आवश्यकता है जो इस charEncodingFilter आदेश बग को हल करता है। आपको स्प्रिंग सिक्योरिटी कोर के बाद के संस्करण में अपग्रेड करने की भी आवश्यकता है, इसलिए आपको 1.2.7.2 (नवीनतम) का उपयोग करना चाहिए। –

+0

सभी मदद बर्ट के लिए धन्यवाद। –

0
edit application.properties 
add(update) line: 
plugins.webxml=1.4.1 
0

कोई अंतिम निष्कर्ष के रूप में एफएएस बनाया रूप में, मैं एक ही स्थिति में मेरी expierence साझा करना चाहते हैं। Here कोई और चर्चा प्राप्त कर सकता है।

मेरा मामला, मेरे पास स्थानीय पीसी पर स्थानीय पीसी सहित स्थानीय पीसी के तहत देव पर्यावरण है। उत्पादन env - Centos 6, MySQL, अपाचे के पीछे टोमकैट 6।

देव पर्यावरण में - सबकुछ ओक था, लेकिन उत्पादन पर - नहीं। केवल बात यह है कि मेरी मदद - सिफारिशों के दोनों बिलाव URIEncoding='UTF-8'

के लिए अतिरिक्त autoreconnect=true&useUnicode=true&characterEncoding=UTF-8 स्थापित किया गया था तो, समस्या MySQL के लिए सही सेटिंग्स जावा ड्राइवर में था।