原先的grails是1.2.0,從這個版本之后,我試過1.2.1,1.2.2,1.3.0,1.3.1,但都因為程序在運行時會變成亂碼,而一直使用著1.2.0。
我們的TOMCAT使用的是GBK編碼,GRAILS文本都是使用UTF-8編碼,所以,這是產生亂碼的根本原因。
最近又有grails1.3.6,更新得很快,網上找了找,有解決方案了。http://www.groovyq.net/content/grails13%E5%8F%91%E5%B8%83
在服務器上一試,果然能行。現記錄如下:
重新設定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")
就應該了,你測試一下吧, ”
所以我一直以為是解決打印亂碼的。
在此一并謝過。
來自: http://hi.baidu.com/caihexi/blog/item/76d093a4cce0c6e59152ee15.html