今天開發了一個 data crawler java 程式,需要抓取 DB 的某個資料表的 city 欄位,當初 table 並沒有設計的很好這個欄位的值竟然是直接放置繁體中文,一般的資料庫設計架構會將這種資料作一個 mapping table 編碼對應,而不是直接在每一筆記錄中存放中文碼,
為了統計每一個城市出現的次數,所以我將城市名稱當作 Key 放入 hashMap 中,並透過 counter 方式來統計出現次數,最後程式寫完後執行時可以正確的累加統計次數,不過畫面在呈現簡體中文字時一直出現問号亂碼,既然hashmap 可以正確的統計各個城市的出現次數,代表程式在讀取這個城市名稱時是正常無亂碼的狀態,因此推斷是 console 在 output console 的 encoding 編碼設定上出了問題,於是嚐試將 Eclipse 的 run --> Open Run Configurations --> Common --> Encoding --> UTF-8 ,原本系統預設是 MS950 指定為 Other 並選擇 utf-8 編碼之後重新執行程式即可正常顯示中文。
沒有留言:
張貼留言