只要跟編碼格式扯上關係,有些簡單的問題變得就不簡單了~_~
在中文系統中,編碼始終都是程式設計中相當讓人討厭的一部份。前面試過在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程式模組化,並不能用來處理這個問題。
沒有留言:
張貼留言