[問題] String 存中文字串

看板AndroidDev作者 (毀滅性射手)時間13年前 (2012/06/17 16:39), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
各位大大好 不才小弟又來了 目標是用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

06/17 17:42, , 1F
FILEREADER 編碼設定utf8
06/17 17:42, 1F

06/17 17:42, , 2F
fileReader=new InputStreamReader(fileIn,“utf-8)
06/17 17:42, 2F
不才小弟經過樓上大大指點 將程式碼改成 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)
文章代碼(AID): #1FtPV4Jo (AndroidDev)