appfuse 亂碼問(wèn)題
????搗鼓了一個(gè)晚上,又是ant new又是ant setup,好不容易搭建起來(lái)了appfuse, 樂(lè)呵呵的打開(kāi)appfuse deploy到tomcat的測(cè)試項(xiàng)目,突然發(fā)現(xiàn)有些亂碼,又是修改tomcat的URLEncording="UTF8",又是把ApplicationResources_zh_cn.properties 拷貝來(lái)拷貝去,google,baidu齊上陣,searching了下,看來(lái)這個(gè)問(wèn)題還是非常普遍,但是中文亂碼的原因有很多種,特羅列如下,看了appfuse對(duì)中文的支持有點(diǎn)問(wèn)題.???? 1.build.xml里面display資源沒(méi)有國(guó)際化處理,也就是沒(méi)有進(jìn)行編碼,在build.xml進(jìn)行修改使之進(jìn)行國(guó)際化.
???? 修改方案:
??? ??? <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
??????????? includes="ApplicationResources_zh*.properties" encoding="UTF-8"/>
??????? <generate-database-properties/>
???? 改為:
??? ??? <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
??????????? includes="*_zh*.properties" encoding="UTF-8"/>
??????? <generate-database-properties/>
??? 2.Tomcat 的URLEnCording要設(shè)置為UTF8,應(yīng)為appfuse是以u(píng)tf-8打包的
??? 3.就是要對(duì)原始ApplicationResources_zh_cn.properties進(jìn)行ascii編碼轉(zhuǎn)換然后丟到classes里面,不要用他ant自動(dòng)轉(zhuǎn)換過(guò)的.奇怪的是appfuse的ant的時(shí)候是對(duì)文件進(jìn)行轉(zhuǎn)換了,但是還是有部分中文存在亂碼,奇怪ing......不知道是appfuse的疏忽還是什么.繼續(xù)研究中...我是appfuse-1.9-src的包.但是我手工轉(zhuǎn)了下ant之前的源碼,發(fā)現(xiàn)亂碼問(wèn)題消失.就這個(gè)原因搞了我一個(gè)晚上....郁悶
??? 修改方案:
??? native2ascii -encoding UTF-8?? ApplicationResources_zh_CN.properties te? (te為轉(zhuǎn)后文件名)
??? native2ascii? te? ApplicationResources_zh_CN.properties1 -reverse(轉(zhuǎn)回來(lái) 呵呵)
??? 補(bǔ)充一點(diǎn),在appfuse的appfuse-1.9-src這個(gè)包里的 ApplicationResource...直接打開(kāi)是中文是亂碼,可以采用上面的兩條命令把它還原出來(lái).便于我們的開(kāi)發(fā)然后修改ant任務(wù)即可.而對(duì)于appfuse-jsf-1.9-src來(lái)說(shuō),它的applicationResource...打開(kāi)后就是我們可以看懂的中文:).
?
總之,new之后的項(xiàng)目的ApplicationResources...要用原來(lái)的文件替換掉.


posted on 2006-11-18 05:33 Tom 閱讀(3515) 評(píng)論(2) 編輯 收藏 所屬分類: Appfuse