心的方向

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

          之前看網(wǎng)上有人發(fā)帖說(shuō)有個(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的同等目錄下,替換原來(lái)的文件”,本人也試了這種方法,但沒(méi)見(jiàn)湊效,不過(guò)上面的解決方法好像是在birt2.1的環(huán)境下,這個(gè)沒(méi)仔細(xì)試,也許對(duì)birt2.1有效吧。


          本人使用birt版本2.3,解決辦法如下:
          在JSP中調(diào)用BIRT報(bào)表時(shí),傳的參數(shù)中有中文字符,即URL中包含中文字符,這時(shí)在BIRT端接收到的參數(shù)拼SQL語(yǔ)句后發(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)代碼:
          頁(yè)面JS:
          Var mychecktype = “中文”;
          sqlWhere+="and t.CHECK_TYPE = '"+escape(encodeURI(mychecktype))+"'";

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

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

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

          jsp頁(yè)面:
          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)航:
           
          主站蜘蛛池模板: 顺平县| 宁河县| 开平市| 堆龙德庆县| 英吉沙县| 建德市| 泰州市| 濮阳市| 广饶县| 彭泽县| 沈阳市| 乌兰县| 永德县| 德兴市| 武清区| 阿荣旗| 璧山县| 绍兴县| 竹北市| 新宁县| 徐水县| 华坪县| 尼勒克县| 崇明县| 丰都县| 库尔勒市| 无锡市| 鹤壁市| 翁源县| 平安县| 额济纳旗| 尤溪县| 永修县| 沭阳县| 武冈市| 新化县| 年辖:市辖区| 台湾省| 泸定县| 佛山市| 浦城县|