由於本機環境問題,導致做的xml publisher報表跑不出來,無法顯示 XML 頁。
使用 XSL 樣式表無法查看 XML 輸入。請更正錯誤然後單擊 刷新按鈕,或以後重試。
XML 文檔只能有一個頂層元素。處理資源 'http://***.***.com:8001/OA_CGI/FNDWRR.exe?temp_id=2326230111' 時出錯。第 12 行,位置: 2
<ITEM_LIST>
-^
但是在同事的電腦上可以跑出來。
後面設置了$OA_JRE_TOP/jre/lib/fonts的字體,我本機jre有兩個,其中1.6.0_07的沒有類似ALBAN*.ttf 的文件。添加以後解決。
轉:
問題描述:在使用XMLP做報表的過程中,經常會遇到亂碼的情況。
導致亂碼的原因有兩種:字符集的問題和字體定義的問題。
字符集引起的亂碼 :一般亂碼成不規則性的。
字體定義引起的亂碼:一般亂碼是規則的,一般為(反?)
一. 字符集的問題
解決方法:
1. 在PL/SQL中輸出XML時,頭信息的編碼為:
output('<?xml version="1.0" encoding="' ||
fnd_profile.value('ICX_CLIENT_IANA_ENCODING') || '"?>');
2. 修改EBS系統首選項: 客戶機字符編碼修改為:Unicode(UTF-8),修改首選項會影響到配置文件
FND: NATIVE CLIENT ENCODING的值。
3. 直接修改FND: NATIVE CLIENT ENCODING的值,使客戶機的編碼與服務器保持一致。
4. 注意事項:
ORACLE的字符集命名(非國際標准)和XML規范(IANA國際標准)不一致,我們還不能直接根據Oracle的字符集來設置XML字符集,需要根據下表映射設置(也可以通過utl_gdk.charset_map來獲得映射關系):
二. 字體定義的問題
解決步驟:
1. 查看$OA_JRE_TOP/jre/lib/fonts目錄下是否包含類似ALBAN*.ttf 的文件。
2. 如果沒有,從EBS的$FND_TOP/resource 下拷貝一份,
使用命令:
cp $FND_TOP/resource/ALBAN*.ttf $OA_JRE_TOP/jre/lib/fonts
3. 重啟應用。問題就可以解決。
4. 原理:默認情況下,XMLP不支持中文,原因僅僅是缺少字體。因為XMLP采用Java編寫,理論上Java支持任何語種。EBS自帶了中文字體,但沒有安裝到XMLP目錄。因此要做個拷貝.
5. XMLP默認輸出格式為HTML的時候,打開時所使用的字體是$OA_JRE_TOP下的。使用EXCEL和PDF時使用的是$FND_TOP下面的字體