由於本機環境問題,導致做的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下面的字型