[問題] String 存中文字串
各位大大好 不才小弟又來了
目標是用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
06/17 17:42, 1F
→
06/17 17:42, , 2F
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)