看板 AndroidDev 關於我們 聯絡資訊
各位大大好 不才小弟又來了 目標是用String 宣告一個陣列,然後存入中文 但是用TextView顯示存進去的中文都會出現亂碼 以下為程式碼 String [] answer = new String[50]; try { String filePath2 = "/sdcard/answer.dat"; FileReader in2 = new FileReader(filePath2); StreamTokenizer st2 = new StreamTokenizer(in2); for(int i=0;i<50;i++) { //realize read this line's End or not. while( st2.nextToken() != StreamTokenizer.TT_EOF) { //realize read WORD or not. if(st2.ttype == StreamTokenizer.TT_WORD) { answer[i] = (String)st2.sval; break; } } } in2.close(); }//try catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } TextView test =(TextView) findViewById(R.id.textView2); test.setText(answer[0]); 這樣跑下去後顯示都會變亂碼 如附圖 http://ppt.cc/Gl-j Google發現是UTF-8的問題 但是找不到解法 請問有大大可以提示嗎? 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.104.12
hijamoya:FILEREADER 編碼設定utf8 06/17 17:42
hijamoya:fileReader=new InputStreamReader(fileIn,“utf-8) 06/17 17:42
不才小弟經過樓上大大指點 將程式碼改成 FileReader in2 = new FileReader(filePath2); InputStreamReader isr = new InputStreamReader( new FileInputStream(filePath2),"utf-8"); StreamTokenizer st2 = new StreamTokenizer(isr); 出來結果還是一樣... 請問大大我是寫錯哪邊 還是有什麼誤會了 ※ 編輯: MattBonner 來自: 163.18.104.12 (06/17 19:35) 不才小弟已經解決 就是在建立dat檔就用UTF-8編碼存 還是不要自找麻煩好了 謝謝H大了 ※ 編輯: MattBonner 來自: 163.18.104.12 (06/17 22:16)