View Full Version : سوال: مشکل در بکارگیری JTextField
Pouri_sb
شنبه 30 مرداد 1389, 17:53 عصر
سلام من میخوام از ناحیه متنم، متن فارسی بگیرم اما علامت سوال خروجیم میشه، چی کار کنم؟
Pouri_sb
شنبه 30 مرداد 1389, 18:30 عصر
البته بعدش می خوام با jdbc-odbc درایو به access وصل شم، تو اونجا هم علامت سوال ذخیره میکنه، تو netbeens هم سیستمی خروجی می گیرم علامت سوال میده ، لطفا کمک کنید
Pouri_sb
سه شنبه 02 شهریور 1389, 14:59 عصر
کسی نمی دونه؟ کارم گیر مونده!
jlover
چهارشنبه 03 شهریور 1389, 21:17 عصر
...
تو netbeens هم سیستمی خروجی می گیرم علامت سوال میده
شما هم متاسفانه مشکلتون چندان به عنوان تاپیکتون ربطی نداره!
مسلماً مشکل از JTextField نیست. به تصویر ضمیمه توجه کنید:
http://barnamenevis.org/forum/attachment.php?attachmentid=54779&stc=1&d=1282756609
شما اگه عبارت فارسی رو در همین تالار جستجو کنید به احتمال زیاد میتونید از پس این مشکل بر بیاد.
بنده هم متاسفانه چون اطلاعی از سازوکار پایگاه داده ها و اتصال به اونها ندارم نمیتونم کمکتون کنم، اما یه قاعده ی کلی اینه که اینکدینگ منبع و مقصد ارتباط باید فراسی رو پشتیبانی کنه (یعنی روی همون utf-8 تنظیم شده باشه)
برای خوندن (گرفتن) رشته/کاراکتر ها از درون برنامه ی جاوا (مثلاً از توی همون JTextField ش) مشکلی وجود نداره، چون جاوا از اینکدینگ utf-8 به طور پیشفرض استفاده میکنه.
موفق باشید
Pouri_sb
پنج شنبه 04 شهریور 1389, 18:44 عصر
آره خیلی بد نام گذاری کردم، اما مشکلم اینکه حتی کد زیر رو هم میز نم علامت سوال بیرون میده:
System.out.print("ایعیعی");
خروجی:
??????3BUILD SUCCESSFUL (total time: 0 seconds)
jlover
پنج شنبه 04 شهریور 1389, 19:06 عصر
آره خیلی بد نام گذاری کردم،
خب حالا عوضش کنید :چشمک: این بیشتر به خودتون کمک میکنه..
در ضمن حتماً کدهاتون رو درون علامت کد (که با علامت # در ردیف دکمه های ویرایشگر قرار داره) قرار بدید.
در غیر اینصورت ممکنه دیگران رغبتی برای هماری با شما نداشته باشند!
اما مشکلم اینکه حتی کد زیر رو هم میز نم علامت سوال بیرون میده:
System.out.print("ایعیعی");
خروجی:
??????3BUILD SUCCESSFUL (total time: 0 seconds)
اول نسخه ی جاوا و نتبینز رو هم اعلام بفرمایید، همچنین اینکدینگ پروژه ای که این برنامه/کلاس در اون قرار داره رو هم بواسطه ی دنبال کردن project properties در فهرست راست کلیک روی project بررسی کنید که utf - 8 باشه.
همه ی این کارها رو که انجام دادین، نتیجه رو بفرمایید و کلیه ی کدهاتون رو هم در اینجا قرار بدید.
من هم نمونه ای که تصویر اجراش رو دیدید، اینجا گذاشتم، این رو هم اجرا کنید و نتیجه رو بفرمایید
import java.awt.event.ActionEvent;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
public class TFTest extends JFrame {
public TFTest() {
super();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 100);
Container container = getContentPane();
container.setLayout(new FlowLayout());
final JTextField tf = new JTextField(10);
container.add(tf);
tf.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println(tf.getText());
}
});
}
public static void main(String args[]) {
TFTest a = new TFTest();
a.setVisible(true);
}
}
Pouri_sb
جمعه 05 شهریور 1389, 02:27 صبح
jdk6
netbeens 6.5
عین کدهای شما رو زدم باز خروجی علامت سوال بود، اینم کد خودم:
package javaapplication6;
public class Main {
public static void main(String[] args) {
System.out.print("ایعیعی");
}
}
مشکل از ide هست یا موتور جاوا؟
jlover
جمعه 05 شهریور 1389, 04:52 صبح
همچنین اینکدینگ پروژه ای که این برنامه/کلاس در اون قرار داره رو هم بواسطه ی دنبال کردن project properties در فهرست راست کلیک روی project بررسی کنید که utf - 8 باشه.
نگفتی ولی :متفکر:
Pouri_sb
جمعه 05 شهریور 1389, 12:09 عصر
نگفتی ولی :متفکر:
اینا درست بود.
jlover
جمعه 05 شهریور 1389, 18:34 عصر
بنابر این من متاسفانه کمک بیشتری نمیتونم بکنم. این موردی که در پست قبل گفتم ولی خیلی مهم بود چون خودم برای امتحان تغییرش دادم و نتیجه مثل نتیجه ی شما بود...
میتونید یه بار از نو نتبینز رو نصب کنید.
راستی یه بار هم بد نیست که از JTextField یه رشته ی فارسی رو بگیرید و در یه JTextArea نمایش بدید، نباید مشکلی باشه احتمالاً، اینو هم میتونید امتحان کنید تا ببینید که آیا رشته رو به درستی دریافت میکنه اصلاً!؟
موفق باشید
Pouri_sb
سه شنبه 16 شهریور 1389, 22:36 عصر
سلام ، الان برنامه کامل شد! یه تابع تبدیل فینگیلیش به فارسی و بر عکس نوشتم. البته کاربر نمی فهمه . برای دیتا بیس فینگیلیش می فرستم که قاط نزنه :-j
اما تاپیکها رو هم بررسی کردم با بافر ریدر نتونستم سیستمی خروجی فارسی بگیرم :(
jlover
جمعه 19 شهریور 1389, 07:25 صبح
سلام ، الان برنامه کامل شد! یه تابع تبدیل فینگیلیش به فارسی و بر عکس نوشتم. البته کاربر نمی فهمه . برای دیتا بیس فینگیلیش می فرستم که قاط نزنه :-j
اما تاپیکها رو هم بررسی کردم با بافر ریدر نتونستم سیستمی خروجی فارسی بگیرم :(
ولی این راهش نیست...
باید متد getBytes رو روی رشته ی دریافتی بکار گرفت و با استفاده از این ارایه ی بایتی خروجی، رشته ی جدیدی با استفاده از سازنده ی زیر:
String(Byte[] bytes)
یا سازنده ی دیگه ای که همین پارامتر رو با پارامتر charset یا charsetName ادامه میده بسازید.
بافرد ریدر ممکنه تو همچین شرایطی جواب نده...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.