2011年8月20日 星期六

Rhino的原始檔編碼格式?

只要跟編碼格式扯上關係,有些簡單的問題變得就不簡單了~_~
在中文系統中,編碼始終都是程式設計中相當讓人討厭的一部份。前面試過在Rhino環境下讀寫"UTF-8"編碼格式的文字檔案,結果看來還正確。那麼,如果Rhino的JavaScript檔案使用"UTF-8"編碼格式的話?特別是要程式內夾雜中文字串時?
底下是簡單的顯示中文字串程式碼,特別夾上"BIG5"編碼格式不存在的「堃」字,所以必須儲存成"UTF-8"編碼格式的檔案(不然「堃」字會無法顯示):
/**
 *
 * Rhino字元編碼。
 *
 * @author ace
 *
 * @version 2011/08/03 v0.1
 *
 * @see <a href="http://www.mozilla.org/rhino/ScriptingJava.html">Scripting Java</a>
 * @see <a href="https://developer.mozilla.org/en/Scripting_Java">Scripting Java</a>
 * @see <a href="https://developer.mozilla.org/en/JavaScript/Reference/Statements/try...catch">try...catch</a>
 * @see <a href="http://www.javascriptkit.com/javatutors/trycatch.shtml">Handling runtime errors in JavaScript using try/catch/finally</a>
 *
 * @see <a href="http://caterpillar.onlyfun.net/Gossip/Encoding/UnicodeUTF.html">Unicode 與 UTF</a>
 * @see <a href="http://caterpillar.onlyfun.net/Gossip/Encoding/UTF8.html">UTF-8</a>
 *
 * @description
 *
 */

try {
    // 開始執行程式
    print("Rhino script start running...");
    print("顯示測試資料!");
    print("阿堃!");
}
catch (e) {
    print("執行過程有誤,錯誤訊息:" + e.description);
}
finally {
}

執行結果如下圖:
在中文字串的地方出現語法錯誤的訊息(syntax error),應該是Rhino無法讀取"UTF-8"編碼格式的JavaScript檔案。
之前也曾經遇到使用"UTF-8"編碼格式的JavaScript檔案,但當時使用的是WSH的執行環境─應用WSF(Windows Script Files)架構進行JavaScript程式模組化,並不能用來處理這個問題。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...