# فناوری جاوا > برنامه‌نویسی جاوا >  فارسی نویسی در جاوا

## m.sepidar

سلام من یه application چت نوشته م که قراره یه چت فارسی باشه...حالا مشکلی که دارم اینه که وقتی یه نفر تو پنجره چت خودش یه چیز فارسی تایپ می کنه توی textarea ی که توی همون پنجره هست(که متن چت هر دو نفر رو نمایش میده) درست نمایش داده می شه ولی توی textarea ی پنجره چت طرف مقابل همش ????? چاپ می کنه.باید چیکار کنم که درست بشه؟
لطفا اگه کسی میتونه کمک کنه
ممنون

----------


## m.sepidar

چرا هیچکی جواب نمیده؟
تو رو خدا اگه کسی می تونه کمک کنه بدجور گیر کردم

----------


## Sh_Asgharian

سلام 
یه راه به ذهنم می رسه.امتحانش کنید.امیدوارم کمکتون کنه.از iso استفاده کنید.قطعه کد زیر را ببینید تا بهتر متوجه بشید:


 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quot;&gt; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head>  <body> <form method="post" action="slwebt1" > <input type="text" name="id"> <input type="text" name="name"> <input type="submit"> </form> </body> </html>
 


سمت servlet هم request.setcharacterencoding اینارو تنظیم نکنید.
موفق باشید

----------


## m.sepidar

ممنون که بالاخره یکی جواب داد ولی این یه application معمولیه... applet و servlet نیست .چیکار باید بکنم؟
من سعی کردم همه ی string هام رو هم به UTF-8 تبدیل کنم ولی مشکل همچنان هست.

----------


## java.source.ir

سلام
مطلب زیر را مطالعه کن؛ همه مشکلاتت به امید خدا حل می شود:

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

----------


## m.sepidar

> سلام
> مطلب زیر را مطالعه کن؛ همه مشکلاتت به امید خدا حل می شود:
> 
> حل مشکل فارسی در برنامه نویسی سوکت


 

بابا ای ول!!!!!!!!!!!
آقا خیلی دستتون درد نکنه...
حل شد

----------


## java.source.ir

> سلام
> مطلب زیر را مطالعه کن؛ همه مشکلاتت به امید خدا حل می شود:
> 
> حل مشکل فارسی در برنامه نویسی سوکت


در مورد فارسی نویسی در JSP و اضافه کردن اطلاعات فارسی به بانک اطلاعاتی و بازیابی آنها به کمک آن، پیشنهاد می نمایم که مقاله زیر را مطالعه نمایید:

رفع مشکل فارسی در Servlet و JSP

----------


## jlover

با عرض سلام خدمت دوستان عزیز 
من هم همین مشکل رو دارم ، فقط قبلش غرض کنم که بنده به تازگی شروع به کار با جاوا کردم و از کتاب «جاوا،جاوا،جاوا» و  netbeans 3.6 و j2re 1.4.2_06 استفاده می کنم .
روشی که بنده برای خوندن و نوشتن متون فارسی در یک ویرایشگر متنی ساده که توانایی ذخیره و بازیابی فایل رو هم داره استفاده می کنم : 
 
outStream = new BufferedWriter (new OutputStreamWriter (new FileOutputStream  
 ;((("new FileOutputStream(currentFile), Charset.forName("UTF-16
برای خوندن هم که می تونید حدس بزنید ، از قرینه ها استفاده می کنم.
اما برخی حروف ( مثل «ی» و «و» ) به درستی به حرف قبل و بعد خود اضافه نمی شوند(در واقع نمی چسبند و به صورت حرف تنها ظاهر می شوند)،همینطور در input dialog مورد استفاده در این برنامه هم رشته هاس متنی با همین نقص ظاهر می شوند.
در ضمن این برنامه در حال حاضر با این متد فقط قادر به نمایش فایلهای ذخیره شده در فرمت یونیکد است و متون در فرمت اسکی را نمیتواند به درستی دیکد کند ، و در صورت برداشتن charset مشخص شده،فقط در قالب اسکی ، ذخیره و بازیابی می نماید.
آیا راه ساده ای برای بهبود این نقایص وجود دارد ؟

----------


## java.source.ir

> با عرض سلام خدمت دوستان عزیز 
> من هم همین مشکل رو دارم ، فقط قبلش غرض کنم که بنده به تازگی شروع به کار با جاوا کردم و از کتاب «جاوا،جاوا،جاوا» و  netbeans 3.6 و j2re 1.4.2_06 استفاده می کنم .
> روشی که بنده برای خوندن و نوشتن متون فارسی در یک ویرایشگر متنی ساده که توانایی ذخیره و بازیابی فایل رو هم داره استفاده می کنم : 
>  
> outStream = new BufferedWriter (new OutputStreamWriter (new FileOutputStream  
>  ;((("new FileOutputStream(currentFile), Charset.forName("UTF-16
> برای خوندن هم که می تونید حدس بزنید ، از قرینه ها استفاده می کنم.
> اما برخی حروف ( مثل «ی» و «و» ) به درستی به حرف قبل و بعد خود اضافه نمی شوند(در واقع نمی چسبند و به صورت حرف تنها ظاهر می شوند)،همینطور در input dialog مورد استفاده در این برنامه هم رشته هاس متنی با همین نقص ظاهر می شوند.
> در ضمن این برنامه در حال حاضر با این متد فقط قادر به نمایش فایلهای ذخیره شده در فرمت یونیکد است و متون در فرمت اسکی را نمیتواند به درستی دیکد کند ، و در صورت برداشتن charset مشخص شده،فقط در قالب اسکی ، ذخیره و بازیابی می نماید.
> آیا راه ساده ای برای بهبود این نقایص وجود دارد ؟


سلام
با متدهایی که بنده در مطالب قبل در همین تاپیک معرفی کرده ام، نه تنها هیچ گونه مشکلی نداشته ام؛ بلکه در دو پروژه مختلف یکی برای وب و دیگری برای یک برنامه تحت شبکه استفاده نموده ام و بدون هیچ گونه باگی اجرا شده اند.

*** یک بار دیگر مطالب را به دقت مطالعه نمایید به امید خدا مشکلتان حل می شود.

موفق و سربلند باشید.

----------


## jlover

والا من حقیقت همه ی اینا رو خوندم ، اما شما آیا خودتون در netbeand امتحان کردی ؟
من دقیقا چنین کدی رو وارد می کنم ، البته میشه از UTF-8 هم استفاده کرد ، ولی به هر حال کلی نیست 
و مشکل حروف «ی» و «و» همچنان پابرجاست .....

----------


## java.source.ir

> ما شما آیا خودتون در netbeand امتحان کردی ؟


بنده در NetBeans 6.1 و NetBeans 6.5 اینکار رو انجام دادم و جواب گرفتم. اگر دوست داشتید یک نمونه برنامه کوچک به همان طریق که ایجاد می نمایید، برایم بفرستید تا ببینم مشکل از چیه؟

----------


## jlover

بله ، حتما با کمال میل ، ممنون مبشم زحمتشو بکشین
اینم خدمتتون عرض کنم که توی خود ادیتورش هم اگه آلت شیفت وینذوز رو بزنم و فارسی بتایپم ، تک تک حروف فارسی رو جدا جدا نشون میده ...
و تو این برنامه ، مشکل ؟ شدن یا مربعی شدن نیست ، فقط بعضی حروف حالت چسبونشون درست عمل نمی کنه ، مخصوصا ی و و و حتی مثلا ر به ک
هم تو UTF-16 و هم UTF-8 ...

----------


## java.source.ir

> توی خود ادیتورش هم اگه آلت شیفت وینذوز رو بزنم و فارسی بتایپم ، تک تک حروف فارسی رو جدا جدا نشون میده ...


سلام

برنامه تان را بدون هیچ گونه مشکلی اجرا نمودم. حال اگر مشکلی غیر از این هم وجود داشت باز به بنده بگویید.

*** برنامه بدون مشکلات اشاره شده بود که شما فرموده بودید.

----------


## jlover

آقا یک دنیا ممنون ، به کلی داشتم افسرده می شدم  :خجالت:  آخه خیلی نادخه آدم نتونه فارسی رو وارد نرم افزارش کنه و حالا خیلی خوشحالم که کدهایی که برا اولین بار واسه کار با فارسی نوشتم و فقط هم از مستندات j2sdk کمک گرفتم ، درست کار میکنه (  :بامزه:  چقدرم حال دارم میدم به خودم - به عنولن تازه کار بهم حق بدین  :چشمک:  ) . اصلن عکس ضمیمه رو که دیدم حال کردم ، _جالب اینه که شکل خط هم قشنگتر از توی محیط منه ( همون ناقصه البته )_  
درباره اون specify هم که کار نکرد باید عرض کنم که : به توصیه ی شما کل این تالار رو با واژه ی فارسی جستجو کردم و یه جایی یکی گفته بود که باید تو netbeans properties گزینه ی encoding  رو به یونیکد تغییر بدی ، مام با هزار امید توی options هر جایی که تو properties ش اینکدینگ داشت به utf-8 تغییر دادیم ( و نه UTF-8 )و سرتونو درد نیارم ، دیگه هیچی که اجرا نمیشد (وارد جزئیات نمیشم) کد منبع برنامه هم توسط netbeans خوشکل ما ، به اندازه ی صفر رسید  :خیلی عصبانی:  ، هر چی توش بود جاروب شد . خوشبختانه بایت کدش بود و برای اولین بار javap رو به کار انداختیم ( درست همین موقع بود که شما گفتی من واست تست می کنم ) خلاصه با jd-gui کذ ها رو بازیابی کردم ، ولی دقت نکردم ببینم کاملا درست برگردونذه یا نه ، که دیدم چند خطی رو اونجا جا گذاشته ، تازه اون همه هم this نداشت و import هاش هم چند تا کلی بودند .... ولی دمش گرم خیلی سخت بود اولین تمرین کار با فایل رو دوباره بنویسم  :لبخند گشاده!: 
اما خب جدای از این حاشیه ها :
چه باید کرد ، قاعدتا حدس بنده ایراد در IDE هستش یا شایدم jdk ( البته اگه خداییش برنامه منو اصلاح نکرده باشین و واقعا خودش زبون وطنیمون رو به این خوبی نشون میداد  :چشمک:  ) 
نسخه های مورد استفاذه رو هم که تو اولین پستم گفتم ...
شما نظرتون چیه گرام ؟

----------


## java.source.ir

سلام
دوست عزیز، برنامه شما را بدون کوچکترین تغییری اجرا نمودم. یعنی برنامه شما هیچ گونه ایرادی که نداشت بلکه بسیار جالب نیز بود.

*** برنامه شما را بنده هم در NetBeans 6.5 و هم به طور جداگانه در JDK 1.6 update 2 بدون هیچ گونه تغییری در کدهای برنامه اجرا نمودم؛ که نتیجه اش همان عکسی است که به شما در مطلب قبلی فرستاده ام. راستش خودم هم دقیقا نمی دانم که مشکل کار از کجاست که برای شما بعضی حروف را به صورت جدا نشان می دهد؟ از یکی از دوستان نیز که در این زمینه متخصص بود پرس و جو نمودم اما ایشان هم جواب قطعی نداد.

موفق و سربلند باشید. اگر ایرادی در زمینه های دیگر نیز داشتی خوشحال می شوم که کمکت نمایم.

----------


## jlover

دستتون درد نکنه ، تو زمینه ی گراثیکی هم یکی دوتا نمونه کار هست که ایرادات دور از انتظاری مثل این نمونه داره که در تاپیک جداگونه از همه ی بزرگواران یاری می طلبم.
ولی گذاشتم تا چند روز آینده که ADSL  :قلب:  وصل کردم ، آخرین نسخه های ابزار کار رو بارگیری کنم و امیدوار باشم که ایراد از نسخه ای هست که من فعلا در اختیار دارم ، یه بار دیگه اجراشون کنم بعد مزاجم میشم ...
راستی من یه تاپیکی با عنوان « شروع کار با جاوا » ایجاد کردم ، اگر محبت کنید یه وقت کوچولو برا اون بزارید ممنون میشم ، من یه کمی زیادی حساسم ، می خلم بدونم دقیقا چه چیزی رو باید بارگیری کنم که آخرین نسخه باشه .
بخونید شرح حالمو متوجه می شید ( البته هر وقت فرصت کردید  :چشمک:  )
با سپاس فراوان

----------


## Sh_Asgharian

سلام
به جای utf8 ازISO-8859-1  استفاده کنید.امیدوارم حل بشه

----------


## jlover

ممنون دوست عزیز ، اما فرقی نکرد

----------


## mosi20

منم با فارسی نویسی مشکل دارم
این تصویر را ببینید.
تمامی ي ها را جدا میزنه.
چیکار کنم؟
چجوری فارسی بنویسم؟

----------


## mosi20

مشکل من حل شد!!به خاطر فونت بود!

----------

