推 kusoayan:在 irb 跑有成功? 04/26 19:31
※ 編輯: hpo14 來自: 123.204.46.87 (04/26 19:34)
→ hpo14:不好意思,請問 irb 是? (碰 ruby 才 2 天) @@ 04/26 19:35
→ hpo14:irb -v #-> irb 0.9.5(05/04/13) 04/26 19:36
→ mars90226:irb裡可以輸入ruby並執行 04/26 19:47
→ mars90226:話說你的檔案要不要加上# encoding: big5 04/26 19:48
剛剛發現 text.rb 存檔時
文件編碼設定為 UTF-8, 對 Big-5 編碼的檔案 scan 後 #-> []
BIG-5, 對 Big-5 #-> 成功
UTF-16,對 UTF-16 #-> []
但是在 AppleScript 內接回來的結果,中文變亂碼....
※ 編輯: hpo14 來自: 123.204.46.87 (04/26 20:10)
→ hpo14:我猜應該是編碼問題了 @@" 04/26 20:15
原來在 AppleScript 內的 regex 字串會是 UTF-8 編碼,
然後送到 do shell sciprt 後, 檔案是 Big5 編碼,所以 Regexp 沒結果。
因此我把 Ruby 部份的程式碼改寫成檔案(如上所示),並把 Regex 寫在檔案內
且檔案存成 Big5 編碼。
然後在 AppleScript 內改成如下方式呼叫,同時利用 iconv 將結果轉 UTF-8
(兩行應為同一行)
set Result to
do shell "./test.rb '" & fpath & "'" & " | iconv -t UTF8 -f BIG5"
好處 1. 做正規表達搜尋時,是 Big5 找 Big5, 理論上應該不會有問題
2. iconv 部份可以確保我在 AppleScript 內處理字串時不會因為系統環境設定
的語言而造成編碼問題
※ 編輯: hpo14 來自: 123.204.46.87 (04/26 20:54)
※ 編輯: hpo14 來自: 123.204.46.87 (04/26 20:55)