View Full Version : مشکل با فارسی
marshal
چهارشنبه 21 بهمن 1388, 19:32 عصر
سلام. من 2تا پکیج دارم به نام p1وp2. داخل p1 یک کلاس دارم و داخل اون یک متد که این متد یک جمله فارسی برمیگردونه. داخل p2 وقتی اون متد رو فراخونی میکنم حروف رو خراب به من نشون میده. با jdeveloper 10g کار میکنم.چکار کنم که جمله رو درست بهم نشون بده؟
به این شکل نشون میده :
ÓáÇã ãÍãÏ ÑÖÇ. ÎæÈ?¿ �å ÎÈÑ¿
jlover
چهارشنبه 05 اسفند 1388, 21:36 عصر
بنده برای کار با TextComponent ها هیچ مشکلی در زمینه ی فارسی ندارم،اما از روزی که این پست رو خوندم،در نظر داشتم وقتی بحث فایلها و جریانها رو مرور کردم،رو این مسئله کار کنم و تلاش کردم،اما دیروز و امروز نتونستم به نتیجه برسونم
میدونم شاید کسی اصلن اهمیت نده به این موضوع چون ممکنه کاربردی نداشته باشه دیگه برنامه هایی که در خط فرمان نمایش داده میشند!
اما به هر صورت یکی دو تا سوال کلی برام پیش اومده که شاید شما عزیزان بتونید کمک کنید :
1 - آیا اصلن چنین امکانی وجود داره ؟ من فکر میکنم شاید ممکن نباشه!چرا؟چون ظاهرا در خط فرمان فقط کاراکترهای اسکی پشتیبانی میشند
2 - یه مشکل جنبی ؛ کد زیر رو ملاحظه بفرمایید :
import java.io.*;
public class FarsiString
{
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(
new InputStreamReader(System.in,"unicode") );
System.out.println("بنویس");
String str = input.readLine();
System.out.println(str);
}
}
البته در کنسول نتبینز،واژه ی "بنویس" بدون مشکل و خانا چاپ میشه،اما - با اینکه انتظاری نیست تا دومین دستور چاپ اجرا بشه،اما موضوع اینه که شما هر چند خط که تایپ کنید،کنترل برنامه از دستور readLine خارج نمیشه !
حالا اگه فقط بیاین و در سازنده ی جریان ورودی، "unicode " رو حذف کنید،حداقل برنامه روالی که انتظظار میره رو دنبال میکنه،اگرچه چنانچه فارسی تایپ کنید،در خروجی فقط ؟ مشاهده میکنید
کسی میدونه چرا ؟
و اگر هم کسی تونست برنامه ای بنویسه که در کنسول ، حتی فقط یک کاراکتر فارسی رو که کاربر تایپ میکنه،بخونه و بعد هم اون رو چاپ کنه،بینهایت سپاسگزار میشم که بذارتش اینجا :قلب:
بدجوری رفته رو اعصابم :عصبانی++:
jlover
پنج شنبه 06 اسفند 1388, 22:39 عصر
من موفق شدم تا حدود زیادی این مشکل رو برطرف کنم !
یعنی :
حالا میشه یه رشته ی فارسی رو در کنسول نتبینز به صورت فارسی چاپ کرد و حتی خوند(البته در مورد خوندن،کاراکترها رو اشتباهی میخونه،مثلن جای "س" میخونه "خ" )
اما در مورد ms-dos همچنان دارم تحقیق میکنم،کسی اگه اطلاعی داره لطفن دریغ نکنه :قلب:
در ضمن مشکل دوستمون که تاپیک رو ایجاد کردند،به این طریق حل میشه(گرچه فک میکنم کار ایشون خیلی ساده تر و بدون این تبدیلاتی که اینجا نشون میدم هم حل میشد ! اما خب چیزی از برنامه شون ارایه ندادند)
به هر حال من دنبال اینم که ببینم چطور توی DOS میشه بدون مشکل فارسی رو رویت کرد،بعضی جاها خوندم که اصل نمیشه!
به هر حال این هم یه برنامه ی ساده تقدیم شما :
import java.io.*;
public class FarsiString2 {
public static void main(String args[]) throws UnsupportedEncodingException {
String consoleString = new String(" فارسی".getBytes(), "Cp1097");
System.out.println(consoleString);
try {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in,"cp1097"));
int ch = (char)r.read();
r.close();
System.out.println(ch);
char chr = (char)ch ;
System.out.println(chr);
// output to the console
Writer w =
new BufferedWriter
(new OutputStreamWriter(System.out, "Cp1097"));
w.write(new String(String.valueOf(chr).getBytes(),"cp1097") );
w.write(consoleString);
w.flush();
w.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
amirfarshad
شنبه 08 اسفند 1388, 09:06 صبح
به هر حال من دنبال اینم که ببینم چطور توی DOS میشه بدون مشکل فارسی رو رویت کرد،بعضی جاها خوندم که اصل نمیشه!
یادمه قدیمها یه فایلی بود به اسم vgaf . وقتی اجراش میکردی توی داس، میتونستی فارسی بخونی و بنویسی. برنامه های قدیمی تحت داس، اکثرا از این استفاده میکردن. کد های اسکی رو عوض میکرد و به جای کاراکتر های اصلی، کاراکترهای فارسی رو قرار میداد. البته چیزهای دیگه ای هم بود که اینکار رو میکرد. توی گوگلvgaf رو سرچ کن، البته زبان جستجو رو بگذار روی فارسی. شاید بشه از اون استفاده کرد.
majid12376
شنبه 12 بهمن 1392, 18:29 عصر
این سایت کمکت می کنه
http://soft.irwave.ir/stfixer/
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.