2011年8月21日 星期日

Rhino原始碼使用UTF-8編碼格式儲存與執行

你的原始碼是什麼編碼?」介紹Java與C語言原始碼存檔的編碼格式、編譯方式、執行結果,其中介紹到的BOM相當詳細;只是我在使用"UTF-8"編碼格式存文字檔時,都是習慣使用檔首無BOM的方式,剛好沒遇到該文提到的問題^_^
JVM 預設編碼」介紹的應該可以解決「Rhino的原始檔編碼格式?」文章中遇到無法執行"UTF-8"編碼格式儲存的Rhino JavaScript。既然Rhino環境使用Java語言開發,自然要由JVM(Java Virtual Machine)啟動。在XP/Vista環境下預設的是"BIG5"編碼格式,所以造成"UTF-8"編碼格式的JavaScript檔案無法順利讀取。
將「應用jPortable軟體架設Rhino執行環境」這篇使用到的批次檔修改一下,內容如下:
@echo off
rem ----------------------------------------------------------------------------
rem 程式功能:啟動rhino執行JavaScript。
rem 傳入參數:
rem       %1:JavaScript檔案。
rem
rem @version 2011/01/11 初始版本。
rem @version 2011/01/24 修改開啟之「命令提示字元」視窗抬頭字串。
rem @version 2011/02/08 說明內容調整。
rem @version 2011/08/23 新增檔案編碼參數(-Dfile.encoding=UTF-8)。
rem
rem @see 取得Batch file所在目錄路徑(http://yjy198410.blogspot.com/2009/11/batch-file.html)
rem @see 在DOS Batch File中傳遞任意個數參數(http://askalee.blogspot.com/2007/04/dos-batch-file.html)
rem
rem @description
rem ----------------------------------------------------------------------------

:EnvVarSet
title Dev-Rhino

set jrePath=%~dp0%CommonFiles\Java\bin

set javaExeFile=%jrePath%\java.exe
set javawExeFile=%jrePath%\javaw.exe

set ClassName=org.mozilla.javascript.tools.shell.Main
set CLASSPATH=%~dp0%js.jar
goto StartBat

:StartBat
"%javaExeFile%" -Dfile.encoding=UTF-8 "%ClassName%" %*
goto End

:End
pause
再次執行「Rhino的原始檔編碼格式?」這篇文章的程式碼,Oh~ya~,可以執行了~只是畫面變成底下這張圖的樣子:

應該是程式已執行,但是顯示出來的訊息變亂碼了~_~

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...