心的方向

          新的征途......
          posts - 75,comments - 19,trackbacks - 0

          之前看網(wǎng)上有人發(fā)帖說有個(gè)解決辦法是viewservlet.jar下找到org/eclipse/birt/report/utility下找到ParameterAccessor.class文件,現(xiàn)在要修改這個(gè)文件的源代碼, 

          你可以在你從CVS中簽出的源代碼中的org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/utility文件夾中找到ParameterAccessor.java文件,在這個(gè)java文件中找到這行:

          public static final String UTF_8_ENCODE = "UTF-8"; //$NON-NLS-1$

          將這行改為

          public static final String UTF_8_ENCODE = "GBK"; //$NON-NLS-1$

          然后將這個(gè)編譯好的class文件壓縮到viewservlets.jar的同等目錄下,替換原來的文件”,本人也試了這種方法,但沒見湊效,不過上面的解決方法好像是在birt2.1的環(huán)境下,這個(gè)沒仔細(xì)試,也許對(duì)birt2.1有效吧。


          本人使用birt版本2.3,解決辦法如下:
          在JSP中調(diào)用BIRT報(bào)表時(shí),傳的參數(shù)中有中文字符,即URL中包含中文字符,這時(shí)在BIRT端接收到的參數(shù)拼SQL語句后發(fā)現(xiàn)中文字符被轉(zhuǎn)碼,造成SQL中的條件不正確。
          因?yàn)樵贘SP中調(diào)用BIRT是在一個(gè)JS腳本中,因此要想辦法在JS中先將中文轉(zhuǎn)成UTF-8,并且在BIRT獲取參數(shù)后再將UTF-8轉(zhuǎn)換回中文即可。
          實(shí)現(xiàn)代碼:
          頁面JS:
          Var mychecktype = “中文”;
          sqlWhere+="and t.CHECK_TYPE = '"+escape(encodeURI(mychecktype))+"'";

          BIRT腳本:
          sql+=decodeURI(mycondition);

          posted on 2009-07-02 09:56 阿偉 閱讀(2551) 評(píng)論(1)  編輯  收藏 所屬分類: 報(bào)表

          FeedBack:
          # re: 關(guān)于birt中文參數(shù)
          2009-11-11 10:18 | gmin
          第一種方法我也試成功
          第二種方法借鑒你的,成功了

          jsp頁面:
          window.open('frameset?__report=reports/pz_report.rptdesign&__format=HTML&cphParameter='+escape(encodeURI(cph)));
          birt 的Script中的initialize中這樣寫
          var cph = params["cphParameter"].value
          params["cphParameter"].value = decodeURI(cph);

          謝謝分享  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 苏尼特右旗| 芷江| 连城县| 高台县| 景东| 平顶山市| 吉木乃县| 嘉禾县| 涿州市| 盐津县| 台州市| 庄浪县| 阜新| 收藏| 射阳县| 鹤山市| 德江县| 法库县| 兰溪市| 德格县| 新田县| 贵州省| 达拉特旗| 凤山市| 永清县| 延庆县| 奉节县| 万荣县| SHOW| 垦利县| 平塘县| 临城县| 台前县| 馆陶县| 泰顺县| 拜城县| 钟祥市| 彭山县| 三河市| 琼中| 襄垣县|