最近不自量力的的接了一個case
也是造成我現在好少上來寫東西的原因
早上忙工作,晚上忙case,又想維持正常的睡覺時間
嘖嘖~~錢難賺呀~~

因為想玩玩新的東西,捨棄自己很熟悉的純jsp或php
而改用struts2的架構來開發
也因此遭遇到許多奇奇怪怪的問題
先來分享一下struts2中文會亂碼的問題吧

1.如何在jsp上直接用中文而不要讀i18n的properties檔
在MVC的架構下,struts2的jsp顯示網頁如果打上中文一定會呈現出亂碼
要能在jsp直接打上中文,我的解法如下:
1.1在jsp網頁一開始設定
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8" %>
並且檔案的編碼要設定成UTF-8
1.2struts.xml設定
struts.i18n.encoding" value="UTF-8"/>

2.request的變數如果接收到中文也會變成亂碼
原本我以為第一個設定就解決中文亂碼的問題,沒有想到struts2的架構內
變數如果讀取中文居然變成亂碼了....,猜想應該是因為我第一個設定轉成UTF-8的關係造成
為此就要再來處理一下,我的解法如下:
2.1在tomcat/conf/server.xml中設定URIEncoding
URIEncoding="UTF-8"/>
2.2在web.xml中設定Encoding Filter
filter把你的jsp都做 request.setCharacterEncoding("utf-8")
<有機會再補程式碼>

以上兩個步驟應該就能解決struts2所遇到的亂碼問題
arrow
arrow
    全站熱搜

    45 發表在 痞客邦 留言(0) 人氣()