原先的grails是1.2.0,從這個(gè)版本之后,我試過1.2.1,1.2.2,1.3.0,1.3.1,但都因?yàn)槌绦蛟谶\(yùn)行時(shí)會(huì)變成亂碼,而一直使用著1.2.0。
我們的TOMCAT使用的是GBK編碼,GRAILS文本都是使用UTF-8編碼,所以,這是產(chǎn)生亂碼的根本原因。
最近又有g(shù)rails1.3.6,更新得很快,網(wǎng)上找了找,有解決方案了。http://www.groovyq.net/content/grails13%E5%8F%91%E5%B8%83
在服務(wù)器上一試,果然能行。現(xiàn)記錄如下:
重新設(shè)定System.out的編碼,將下面語句加入到_GrailsInit.groovy中,或者加入工程的BootStrap.groovy的init段即可
System.out = new PrintStream(System.out, true,"GB2312");
我使用的是第二種方法,在BootStrap.groovy的init段中加入以上語句。
以前,有位高手也提到過,但他的原文是:
“如果是println打印中文亂碼的話,那么就在初始化文件中增加
System.out = new PrintStream(System.out, true, "GBK")
就應(yīng)該了,你測(cè)試一下吧, ”
所以我一直以為是解決打印亂碼的。
在此一并謝過。
來自: http://hi.baidu.com/caihexi/blog/item/76d093a4cce0c6e59152ee15.html