PDA

View Full Version : سوال: خواندن اطلاعات فارسی از فایل txt



shahab.fm
سه شنبه 17 دی 1387, 01:09 صبح
سلام.

من سعی میکنم یک فایل txt رو که توش معانی حروف به انگلیسی و فارسی نوشته شده بخونم اما فارسی ها به صورت ؟؟؟؟؟ خوانده میشه. باید اضافه کنم که فایل مورد نظر در ویندوز notepad به درستی نشون داده میشه.
این کد رو هم استفاده کردم اما جواب نداد.


scanner = new Scanner (file,"UTF-8");در لینوکس این مشکل پیش نمیاد اما در ویندوز نمیتونم این کار رو بکنم.

با سپاس.

شهاب.

alaaaa
سه شنبه 17 دی 1387, 09:11 صبح
java.io.FileInputStream fis=new java.io.FileInputStream("File Path");
java.io.InputStreamReader isr=new java.io.InputStreamReader(fis, "UTF8");
java.io.BufferedReader fin=new java.io.BufferedReader(isr);
String line;
while((line=fin.readLine())!=null){
//Statements
}




با این روش اطلاعات فارسی موجود در فایل به درستی در line قرار می گیره ولی ممکنه اگه بخواهید اطلاعات line رو با System.out در خروجی نشون بدید به مشکل بخورید

shahab.fm
پنج شنبه 19 دی 1387, 03:17 صبح
مرسی مشکلم حل شد ولی همونطوری که گفتید در system.out هنوز به صورت ؟؟؟؟؟ نشون داده میشه اما در محیط های متنی گرافیکی مشکل حل شد.

Abalfazl
پنج شنبه 02 دی 1389, 14:52 عصر
یعنی هیچ را ه حلی برای اینکه فونت فارسی از طریق system.out به درستی نمایش داده بشود وجود ندارد؟

javaphantom
پنج شنبه 02 دی 1389, 18:26 عصر
یعنی هیچ را ه حلی برای اینکه فونت فارسی از طریق system.out به درستی نمایش داده بشود وجود ندارد؟

یک تست بزن این دایی جون


System.out.println(System.getProperty("file.encoding"));
System.out.println(Charset.defaultCharset().name() );

pouria_bayat
دوشنبه 30 آبان 1390, 22:46 عصر
یک تست بزن این دایی جون


System.out.println(System.getProperty("file.encoding"));
System.out.println(Charset.defaultCharset().name() );


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

Abalfazl
سه شنبه 01 آذر 1390, 19:59 عصر
مراجعه کنید به کتاب جاوا برای دانشجوی کامپیوترف بخش فایل، یونیکد و خواندن نوشتن فارسی در فایل و ... توضیح کامل داده شده است.

saeedIRHA
چهارشنبه 02 آذر 1390, 01:12 صبح
console ویندوز به صورت unicode نیست

spiderman200700
جمعه 04 آذر 1390, 01:40 صبح
یعنی هیچ را ه حلی برای اینکه فونت فارسی از طریق system.out به درستی نمایش داده بشود وجود ندارد؟

توی نت پد ، وقتی میخوای فایل رو Save کنی ،توی پنجره ی Save ، از قسمت Encoding ، گزینه ی UTF-8 رو انتخاب کن، بعدش فایل رو Save کن.
توی برنامت این فایل رو باز کن.
اینجوری اطلاعات فارسی فایل، system.out هم درست چاپ میشه.
من این روش رو امتحان کردم و کاملا درست جواب داد.

ashkanksh
شنبه 05 آذر 1390, 22:39 عصر
فکر میکنم روشی که دوستمون اسپایدر من گفتند درسته!

فقط فکر کنم چیزی که چند وقت پیش بهش خوردم راجع به عوض شدن لاین! میتونید از تگ شکستگی خط html استفاده کنید.

موقع ذخیره با انکدینگ utf-8 میتونی واسه اینکه بگی لاین بعدی هست حالا از <BR> استفاده کنید.