如何在Weka中顯示中文:調整檔案編碼為UTF8 / How to Process Chinese Data in Weka: Set fileEncoding to utf-8
在Windows中使用Weka來處理非英文語系的資料時會變成亂碼,這是因為它的參數設定預設為Cp1252 (拉丁字母字元編碼)。只要在Weka設定檔RunWeka.ini中修改fileEncoding為utf-8,就能讓Weka順利顯示中文。
找尋Weka安裝目錄 / Find Weka’s Directory
首先,我們要找尋Weka的安裝目錄。大部分時候Weka預設安裝目錄都在「C:\Program Files\Weka-3-8」中(其中3-8是版本編號,你的可能會跟我不一樣)。
如果你不確定的話,可以用以下方法來找尋Weka的安裝目錄。
在Windows的開始選單中找到Weka,按右鍵,選擇「內容」。
在「開始位置」那串路徑,就是Weka的安裝目錄。
修改檔案編碼為utf-8 / Set fileEncoding=utf-8
做法如下:
1. 開啟Weka的安裝目錄
2. 用文字編輯器開啟 RunWeka.ini (例如使用「Notepad++」或「記事本」開啟)
3. 把以下設定
fileEncoding=Cp1252
改成
fileEncoding=utf-8
4. 儲存檔案
5. 重新開啟Weka
下次再載入含有中文的資料時,Weka就能正常顯示中文,不會變成亂碼了。
快速做法:取代RunWeka.ini / Quick Solution: Replace your RunWeka.ini
你也可以直接下載我修改好的RunWeka.ini來取代原本的設定檔:
不過若Weka版本不合,這方法也可能會出錯就是了。如果取代之後發現Weka不能開啟,請使用上面的完整做法自己手動修改RunWeka.ini吧。
還好寫了說明,可以在很多地方都直接拿出來用,很不錯。
回覆刪除布丁你好,依照你的方法修改了fileEncoding=utf-8,重新開啟 Weka 亂碼還是存在??
回覆刪除我的系統版本是 Win10、Weka3.8.4
1. 把整個Weka都關掉,再重啟看看
刪除2. 需確認你的檔案是UTF8編碼
如果是從Excel轉存csv檔案的話,通常是BIG-5編碼喔
1. 把整個Weka都關掉,再重啟看看 ==> 有
刪除2. 需確認你的檔案是UTF8編碼 ==> 要怎麼確認CSV是否為UTF8編碼
謝謝
您好,可以看到中文了,非常感謝。
刪除我推薦用Notepad++來看編碼
刪除http://blog.pulipuli.info/2016/12/utf-8notepad-how-to-convert-plain-text.html#postcatautf-8notepad-how-to-convert-plain-text.html0_anchor1
「如何把純文字檔案轉換成UTF-8格式:使用Notepad++」這篇有說明
布丁你好,想請教作業系統為MAC 出現亂碼該如何處理?
回覆刪除To Todd,
刪除你好,
1. 請確認你使用檔案的編碼
如果是照我的教學,使用LibreOffice Calc儲存成ods格式,那是UTF8編碼
如果是用Excel,那大概是用Big5,我不確定Mac上的Excel是用那種
2. 調整你的Weka設定檔
在Weka安裝目錄底下修改RunWeka.ini來調整編碼
我沒用過Mac,不知道你會裝在哪裡,請自行研究看看
請問一下測試過以上方是還是一樣都亂碼還有其他方式嗎??
回覆刪除亂碼格式都是框框
這樣該如何處理~~
你要不要先確定一下你原本的資料是不是亂碼?
刪除試著用LibraOffice Calc開啟截圖看看
或是把資料放一部分上來我測試看看?
布丁您好,
回覆刪除已照步驟找到RunWeka檔案,但電腦一直不給我儲存...叫我取得有權限的人或系統管理員權限,
但我的電腦(Win10)一直只有我自己的帳戶,且自己也是系統管理員,我在該檔案案右鍵也沒有「以系統管理員身分執行」的選項...
再懇請解惑了,謝謝!
Charly您好,
刪除請在「記事本」之類的純文字編輯器上按右鍵,「以系統管理員身份執行」。這樣編輯器就會擁有系統管理員的權限。
然後你在用這個編輯器來修改RunWeka.ini,這樣應該就可以了。
補充一下Weka在Linux中能夠正確處理中文的方法:
回覆刪除1. Weka版本:weka-3-8-2.zip
https://sourceforge.net/projects/weka/files/weka-3-8/3.8.2/
2. 解壓縮到任意資料夾底下,移動到該資料夾
3. 透過jar啟動Weka
java -jar -Dfile.encoding=UTF-8 ./weka.jar
按照方式更改了file.encoding=UTF-8 ,weka3.8没有乱码了,但是 weka3.8.6 和 3.9.6 一样改了,为什么中文还是乱码呢?
回覆刪除作者已經移除這則留言。
刪除您好,
刪除大多情況下都是您改錯設定檔而已。
一機安裝很多Weka,路徑應該會有所不同。
可能會是你以為啟動的是Weka 3.8.6,但實際上啟動的是3.9.6之類的。
或著是你以為改了設定檔,但因為權限的關係,實際上根本沒有儲存檔案。
刪除很常見啦
耐心檢查吧。