ورود

View Full Version : نمایش نامفهوم حروف هنگام کار با فایل متنی



emperatorsoftware
پنج شنبه 28 خرداد 1394, 18:36 عصر
با سلام خدمت دوستان عزیز

من تووی برنامم کد زیر رو دارم که فایل متنی رو میخونه اما متن فایل با آیکنهای نامفهوم نشون داده میشه
تازه بعضی وقتا هم به آخر متن شکل اضافه میکنه:گریه:

اسم فایل یکبار با پسوند و یکبار بدون پسونده اما بازم مشکل بالا هست

ممنون از راهنمایی شما



InputStream txtfile = getResources().openRawResource(R.raw.s4);
try{
txt_succesful_word = (TextView) findViewById(R.id.txt_succesful_word);
String word = inputStreamToString(txtfile);
txt_succesful_word.setText(word);

}catch(Exception e){


public String inputStreamToString(InputStream inputStream) throws IOException{
StringBuffer stringBuffer = new StringBuffer();
DataInputStream dataInputStream = new DataInputStream(inputStream);
String string = null;
while ((string = dataInputStream.readLine()) != null){
stringBuffer.append(string + "\n");
}
dataInputStream.close();
inputStream.close();
return stringBuffer.toString();
}
}

soroushp
جمعه 29 خرداد 1394, 08:16 صبح
سلام
به txt_succesful_word یک فونت رو set کن

tux-world
جمعه 29 خرداد 1394, 08:32 صبح
یه عکسی یه چیزی . یه محتوای فایلی یه خطایی چیزی باشه که ما ببینیم:لبخندساده:

#root#
جمعه 29 خرداد 1394, 09:53 صبح
یه احتمال اینه که موقع ذخیره کردن فایل encoding روی utf-8 نباشه.

morahimi
جمعه 29 خرداد 1394, 13:43 عصر
باید موقع ذخیره کردن فایل encoding رو روی utf-8 بذاری

emperatorsoftware
شنبه 30 خرداد 1394, 00:02 صبح
سلام
به txt_succesful_word یک فونت رو set کن

ست کردم اما درست نشد

emperatorsoftware
شنبه 30 خرداد 1394, 00:03 صبح
باید موقع ذخیره کردن فایل encoding رو روی utf-8 بذاری

utf-8 رو گذاشتم تووی ویندوز درست بود

emperatorsoftware
شنبه 30 خرداد 1394, 00:03 صبح
دوستان کسی هست کمکم کنه؟؟؟؟؟
ممنون

pbm_soy
شنبه 30 خرداد 1394, 00:24 صبح
فایل باید بصورت یونیکد درست بشه و ذخیره بشه و همینطور در زمان خواندن هم باید بصورت یونیکد بخوانیش!
Inputstreamreader دوتا پارامتر دارد یکی استریمی که از فایل ایجاد کردی ودومی کاراکترست است که میتونی utf8 بذاریش

اگر هردوطرف یونیکد باشد قاعدتا نباید مشکل داشته باشی مگراینکه محل نمایشت در اکتیویتی با یونیکد مشکل داشته باشد که فکر نکن اینطورباشد فقط نیاز به تنظیم داشته باشد
متن را پس از لود کردن کجا نمایش میدهی؟

emperatorsoftware
شنبه 30 خرداد 1394, 15:17 عصر
فایل باید بصورت یونیکد درست بشه و ذخیره بشه و همینطور در زمان خواندن هم باید بصورت یونیکد بخوانیش!
Inputstreamreader دوتا پارامتر دارد یکی استریمی که از فایل ایجاد کردی ودومی کاراکترست است که میتونی utf8 بذاریش

اگر هردوطرف یونیکد باشد قاعدتا نباید مشکل داشته باشی مگراینکه محل نمایشت در اکتیویتی با یونیکد مشکل داشته باشد که فکر نکن اینطورباشد فقط نیاز به تنظیم داشته باشد
متن را پس از لود کردن کجا نمایش میدهی؟

سلام متن را در یک تکست ویو در فرم اصلی نمایش میدم

میشه یکم بیشتر توضیح بدید

ممنونم

emperatorsoftware
دوشنبه 01 تیر 1394, 15:55 عصر
دوستان کسی هست کمکم کنه

pbm_soy
سه شنبه 02 تیر 1394, 01:31 صبح
سلام متن را در یک تکست ویو در فرم اصلی نمایش میدم

میشه یکم بیشتر توضیح بدید

ممنونم

توضیح خاصی نیاز ندارد!
اگه فایل را بصورت یونیکد درست کرده باشی و بصورت یونیکد هم بخوانی دیگر نباید مشکلی داشته باشی!


TextView tv1;
String line="";
try
{
InputStreamReader isr = new InputStreamReader(getAssets().open("yourFile.txt"),"UTF-8");
BufferedReader inFile = new BufferedReader(isr);

do
{
line = inFile.readLine();
tv1.append(line);
}while(line != null);
}//try
catch (IOException e)
{
Log.e("Error on loading file --> ", e.getMessage());
e.printStackTrace();
}