91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EBS 11i ojspCompile.pl 編譯jsp亂碼 encoding

發布時間:2020-03-18 20:21:20 來源:網絡 閱讀:5608 作者:baser 欄目:關系型數據庫

11i環境,一般來說jsp是重啟apache后自動編譯的,但是因為某些環境設置,需要手動編譯jsp。


11i的編譯路徑:$JTF_TOP/admin/scripts/ojspCompile.pl

編譯命令:perl $JTF_TOP/admin/scripts/ojspCompile.pl --compile -p 16 -s xxx.jsp


一個簡單的jsp文件test1.jsp,文件編碼格式GB2312,代碼如下:

<%@page language="java" contentType="text/html; charset=gb2312"%>
<html>
<body>
<font size="+2" color="#000000">測試亂碼</font>
</body>
</html>

上傳至服務器$OA_HTML/SSO_OA 目錄下,用ojspCompile編譯,編譯通過的話,服務器$OAD_TOP/_pages/_oa__html/_sso__oa/ 下生成兩個class文件:_test1.class 和 _test1$__jsp_StaticText.class 。

將class下載到本地,反編譯,發現里面中文是亂碼,這也就能解釋為什么瀏覽器訪問是亂碼了。


于是懷疑是編譯器的問題,有查到資料說編譯器默認編譯編碼是IS0-8859-1,于是就在考慮如何修改編譯編碼。


將$JTF_TOP/admin/scripts/ojspCompile.pl下載到本地,打開后搜索“javac”看到這么一段:

sub javac_internal {
my  $osname = undef;
   chop ($osname = `uname -s`);
   my ($java_ver) = &myrun(30, "$java -version 2>&1");
   chomp($java_ver);
   if($java_ver =~/1.5/)
   {
        if (($osname eq "AIX") || ($osname eq "OSF1"))
        { return 'exec javac -nowarn' }
        elsif ($ISWINNT) { return 'javac -J-client -nowarn' }
        else { return 'exec javac -J-client -nowarn' }
   }
    elsif ($ISWINNT) { return 'javac -nowarn' }
    else { return 'exec javac -nowarn' }
}


javac命令是可以指定編碼的,在javac命令后加上 -encoding GB2312 即可。

因為我當前使用的11i環境包括數據庫相關編碼都是GB2312的, 所以我把這里改成了GB2312編碼,當然,不同環境也可以改成utf-8。


修改后的代碼:

sub javac_internal {
my  $osname = undef;
   chop ($osname = `uname -s`);
   my ($java_ver) = &myrun(30, "$java -version 2>&1");
   chomp($java_ver);
   if($java_ver =~/1.5/)
   {
        if (($osname eq "AIX") || ($osname eq "OSF1"))
#old        { return 'exec javac -nowarn' }
        { return 'exec javac -nowarn -encoding GB2312' }
        elsif ($ISWINNT) { return 'javac -J-client -nowarn' }
		else { return 'exec javac -J-client -nowarn' }
   }
    elsif ($ISWINNT) { return 'javac -nowarn' }
#old    else { return 'exec javac -nowarn' }
	else { return 'exec javac -nowarn -encoding GB2312' }
}


保證jsp文件的編碼與當前設置的編碼相同,然后重新執行ojspCompile編譯。

大功告成,反編譯后的class內中文正常顯示。



R12環境的ojspCompile路徑:$FND_TOP/patch/115/bin ,這個版本里已經默認添加編譯字符集為utf-8。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘城县| 南充市| 乐业县| 房产| 怀柔区| 东丽区| 青浦区| 鹤峰县| 大城县| 冷水江市| 宁安市| 祁阳县| 山阴县| 获嘉县| 潼南县| 根河市| 金溪县| 阿鲁科尔沁旗| 元江| 宣化县| 苏尼特左旗| 雷州市| 广东省| 临沂市| 嘉兴市| 平阳县| 道真| 且末县| 德保县| 安阳市| 鄯善县| 榆林市| 北碚区| 汤原县| 雷山县| 连城县| 区。| 大兴区| 神农架林区| 乐昌市| 盐城市|