BIEE 中Go Path訪問分析報表加過濾器有漢字時需要對漢字進行特殊的編碼處理,例:Action=Navigate&P0=1&P1=eq&P2="DIM_NEWSPAPER_SEGMENT_TAB"."STATION_NAME"&P3=1+北京
URL中的P2爲:表名.字段名,如果表示層中的表名爲中文,應在別名中加入英文名稱以方便過濾器使用
前臺報表過濾器中也要做相應的設置
P3爲要過濾字段的實際值,如果是漢字要進行兩次UTF-8編碼,然後加入到URL中才能正常過濾,例如“北京”兩次轉換之後的代碼爲%25%45%35%25%38%43%25%39%37%25%45%34%25%42%41%25%41%43。
private string getUTF(string utf8)
{
byte[] buffer = Encoding.GetEncoding("utf-8").GetBytes(utf8);
string str = "";
foreach (byte b in buffer) str += string.Format("%{0:X}", b);
return str;
}
private string 轉換兩次(string 要轉換的漢字)
{
string strTemp = getUTF(要轉換的漢字); return getUTF(strTemp);
}
完整URL如下
http://localhost:9704/analytics/saw.dll?Go&path=%2Fusers%2Fweblogic%2Fanalytics%2Ffilter&Action=Navigate&P0=1&P1=eq&P2="DIM_NEWSPAPER_SEGMENT_TAB"."STATION_NAME"&P3=1+%25%45%35%25%38%43%25%39%37%25%45%34%25%42%41%25%41%43