:::

如何在Weka中顯示中文:調整檔案編碼為UTF8 / How to Process Chinese Data in Weka: Set fileEncoding to utf-8

image

在Windows中使用Weka來處理非英文語系的資料時會變成亂碼,這是因為它的參數設定預設為Cp1252 (拉丁字母字元編碼)。只要在Weka設定檔RunWeka.ini中修改fileEncoding為utf-8,就能讓Weka順利顯示中文。


找尋Weka安裝目錄 / Find Weka’s Directory

2017-06-23_133846

首先,我們要找尋Weka的安裝目錄。大部分時候Weka預設安裝目錄都在「C:\Program Files\Weka-3-8」中(其中3-8是版本編號,你的可能會跟我不一樣)。

如果你不確定的話,可以用以下方法來找尋Weka的安裝目錄。

image

在Windows的開始選單中找到Weka,按右鍵,選擇「內容」。

image

在「開始位置」那串路徑,就是Weka的安裝目錄。

修改檔案編碼為utf-8 / Set fileEncoding=utf-8

做法如下:

image3

1. 開啟Weka的安裝目錄

2. 用文字編輯器開啟 RunWeka.ini  (例如使用「Notepad++」或「記事本」開啟)

image4

3. 把以下設定

fileEncoding=Cp1252

改成

fileEncoding=utf-8

4. 儲存檔案

5. 重新開啟Weka

image

下次再載入含有中文的資料時,Weka就能正常顯示中文,不會變成亂碼了。

快速做法:取代RunWeka.ini / Quick Solution: Replace your RunWeka.ini

你也可以直接下載我修改好的RunWeka.ini來取代原本的設定檔:

不過若Weka版本不合,這方法也可能會出錯就是了。如果取代之後發現Weka不能開啟,請使用上面的完整做法自己手動修改RunWeka.ini吧。

總共17 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 還好寫了說明,可以在很多地方都直接拿出來用,很不錯。

    回覆刪除
  2. 布丁你好,依照你的方法修改了fileEncoding=utf-8,重新開啟 Weka 亂碼還是存在??
    我的系統版本是 Win10、Weka3.8.4

    回覆刪除
    回覆
    1. 1. 把整個Weka都關掉,再重啟看看
      2. 需確認你的檔案是UTF8編碼

      如果是從Excel轉存csv檔案的話,通常是BIG-5編碼喔

      刪除
    2. 1. 把整個Weka都關掉,再重啟看看 ==> 有
      2. 需確認你的檔案是UTF8編碼 ==> 要怎麼確認CSV是否為UTF8編碼

      謝謝

      刪除
    3. 您好,可以看到中文了,非常感謝。

      刪除
    4. 我推薦用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++」這篇有說明

      刪除
  3. 布丁你好,想請教作業系統為MAC 出現亂碼該如何處理?

    回覆刪除
    回覆
    1. To Todd,

      你好,

      1. 請確認你使用檔案的編碼

      如果是照我的教學,使用LibreOffice Calc儲存成ods格式,那是UTF8編碼
      如果是用Excel,那大概是用Big5,我不確定Mac上的Excel是用那種

      2. 調整你的Weka設定檔

      在Weka安裝目錄底下修改RunWeka.ini來調整編碼
      我沒用過Mac,不知道你會裝在哪裡,請自行研究看看

      刪除
  4. 請問一下測試過以上方是還是一樣都亂碼還有其他方式嗎??
    亂碼格式都是框框
    這樣該如何處理~~

    回覆刪除
    回覆
    1. 你要不要先確定一下你原本的資料是不是亂碼?
      試著用LibraOffice Calc開啟截圖看看
      或是把資料放一部分上來我測試看看?

      刪除
  5. 布丁您好,

    已照步驟找到RunWeka檔案,但電腦一直不給我儲存...叫我取得有權限的人或系統管理員權限,
    但我的電腦(Win10)一直只有我自己的帳戶,且自己也是系統管理員,我在該檔案案右鍵也沒有「以系統管理員身分執行」的選項...
    再懇請解惑了,謝謝!

    回覆刪除
    回覆
    1. Charly您好,

      請在「記事本」之類的純文字編輯器上按右鍵,「以系統管理員身份執行」。這樣編輯器就會擁有系統管理員的權限。
      然後你在用這個編輯器來修改RunWeka.ini,這樣應該就可以了。

      刪除
  6. 補充一下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

    回覆刪除
  7. 按照方式更改了file.encoding=UTF-8 ,weka3.8没有乱码了,但是 weka3.8.6 和 3.9.6 一样改了,为什么中文还是乱码呢?

    回覆刪除
    回覆
    1. 您好,

      大多情況下都是您改錯設定檔而已。
      一機安裝很多Weka,路徑應該會有所不同。
      可能會是你以為啟動的是Weka 3.8.6,但實際上啟動的是3.9.6之類的。

      刪除
    2. 或著是你以為改了設定檔,但因為權限的關係,實際上根本沒有儲存檔案。
      很常見啦

      耐心檢查吧。

      刪除